为什么正则表达式(\"')[^ \ 1] *(\ 1)不正确匹配?

时间:2018-02-05 07:47:49

标签: regex

我尝试匹配以"'开头并以相同字符结尾的字符串(即以"开头并以"结尾或以'开头并以'结尾),但到目前为止我提出的表达式太贪婪,例​​如,表达式匹配整个字符串"a" 'b' "c",当我真的想要单独匹配"a"'b'"c"时。

1 个答案:

答案 0 :(得分:0)

我找到了答案。我需要表达式(\"')[^\1]*?\1,即使用惰性量词。

这使它成为非POSIX,但由于我可以忍受,那没关系。

根据@wiktorstribis的建议,更好的解决方案是((["']).*?\2)