我想写一个正则表达式来匹配用单引号括起来的字符串,但是不应该匹配带有双引号的单引号的字符串 .
Example 1:
a = 'This is a single-quoted string';
a 的整个值应匹配,因为它用单引号括起来 .
编辑:完全匹配应该是: 'This is a single-quoted string'
Example 2:
x = "This is a 'String' with single quote";
x 不应返回任何匹配项,因为单引号位于双引号内 .
我试过 /'.*'/g 但它也匹配双引号字符串中的单引号字符串 .
Thanks for the help!
编辑:
使它更清楚
鉴于以下字符串:
The "quick 'brown' fox" jumps
over 'the lazy dog' near
"the 'riverbank'".
匹配应该只是:
'the lazy dog'
3 回答
假设不必处理转义引号(这可能会使正则表达式复杂化),并且所有引号都是正确 balancer 的(没有像
It's... "Monty Python's Flying Circus"!
那样),那么你可以查找单引号字符串,后跟一个偶数双引号:看到它live on regex101.com .
Explanation:
尝试这样的事情:
现场演示
如果你没有严格限制正则表达式,你可以使用函数“indexOf”来查明它是否是双引号匹配的子字符串:
请参阅下面的JSFiddle:
JSFiddle