我需要确保字符串不以 \'
结尾所以用了消极的眼光:
\\:'(.+)(?<!\\\\)'
但是,它可能以 \\'
结尾。基本上,它可以以 '
结尾。或'
前面有偶数个反斜杠 \
.
它是用Java实现的。
最佳答案
唯一的办法
(?<!\\)(?:\\\\)*'$
解释
(?<! \\ ) # Not an escape behind us, forces only even escapes ahead
(?: \\ \\ )* # Any amount of even escapes
' # Quote
$ # EOS
注释 - 事实上,即使转义也不能转义任何东西,因此为了强制只有即使转义才能在前面,消极地看后面 (?<!\\)
已使用。
关于java - 正则表达式检查偶数个前面的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56194737/