问题
使用RegEx,如何查找第一个'
的索引前面没有奇数 \
?
详细信息
在我的代码中,我可以检测 PostgreSQL 字符串的开头,该字符串以 '
开头。 ,我需要一个正则表达式来查找后面的字符串中的有效结尾,并匹配 '
,或者告诉我何时没有有效的闭包,即字符串无效。
我遇到的问题是如何跳过 '
时的特殊情况前面有奇数 \
,即要跳过以下情况:\'
, \\\'
, \\\\\'
等
是否可以在正则表达式中跳过此类特殊情况,并给我闭包索引,或者 -1(如果不存在)?
最佳答案
这应该是一个有效的正则表达式,仅匹配前面有偶数个 \
的第一个 '
:
(?<!\\)(?:\\\\)*(?!\\)\'
但我不知道是否支持负前瞻/后瞻。
我本质上是说:只匹配其他 \
之前或之后的 \\
(不转义)。
编辑:@revo 让我注意到最后一部分是多余的,正确的正则表达式是:
(?<!\\)(?:\\\\)*'
关于node.js - 搜索时跳过奇数个前面的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56046843/