正则表达式匹配未转义的引号

我正在寻找一个与任意字符串中未转义的引号匹配的正则表达式,但不是已经转义的引号,因此我可以转义未转义的引号。 我试图修改我发现的任何类似的解决方案,但没有捕获到我需要的确切内容。

正则表达式应该

abc"asd # match abc\"asd # not match abc\\"asd # match abc\\\"asd # not match abc\\\\"asd # match 

所以基本上匹配前面有偶数个反斜杠(包括零)的任何引号,但不匹配前面有奇数个反斜杠的任何引号。

有人可以帮忙吗?

PS:我想在ruby中这样做

你可以用这个:

 (? 

(?检查之前没有反斜杠(负向后看)

(?:\\{2})*匹配所有偶数个反斜杠

\K从匹配结果中删除左侧的所有内容(此处为反斜杠)

看来你可能正在寻找这样的东西:

 (\\\\)*"