我的工作,着眼于除报价信息一切正则表达式。一个例子是:
Lorem ipsum "dolor" sit amet, "consectetur" adipiscing elit.
会改变
Lorem ipsum sit amet, adipiscing elit
我已经尝试过
.*(?=".*").*
和
`[^"].*[^"]
无论工作,所以我会很感激的帮助。
继承人的方式...
var str = `Lorem ipsum "dolor" sit amet, "consectetur" adipiscing elit.`
console.log(str.replace(/\"[a-z]{1,}\"/g, ''))
我会做一些在这一行了。它处理在句子开头或以引号结束的情况下。
var str = '"Lorem" ipsum "dolor" sit amet, "consectetur", adipiscing "elit."';
var regExp = /(?:^|\W)(\".+?\")(?:\W|$)/g;
var res = str.replace(regExp, " ").trim();
console.log(res);
正则表达式解释说:
(?:^|\W)
- 非捕获组字符串的开始或只是一个空间的(技术上是一个“非字字符” - 可以是一个标点符号,支架等)
(\".+?\")
- "
之间的任何东西(包括引号本身)
(?:\W|$)
- 相同的第一个,但检查一个字符串的末尾,而不是
g
标志 - 检查是否有匹配模式的所有出现
试试这个,不贪婪(".*?")
比赛两份报价单,最少它们之间可能的。
var a ='Lorem ipsum "dolor" sit amet, "consectetur" adipiscing elit.';
console.log(a.replace(/".*?"/g,''));
我希望能帮助你:
/[,\w]+(?![^" ]*")/g
var str = 'Lorem ipsum "dolor" sit amet, "consectetur" adipiscing elit.' ;
var res = '' ;
var patt = /[,\w]+(?![^" ]*")/g ;
while ( (arr = patt.exec(str)) != null) { res += arr[0] + ' ' ; }
console.log( res ) ;