java - 正则表达式检查偶数个前面的字符

标签 java regex

我需要确保字符串不以 \' 结尾所以用了消极的眼光:

\\:'(.+)(?<!\\\\)'

但是,它可能以 \\' 结尾。基本上,它可以以 ' 结尾。或'前面有偶数个反斜杠 \ .

它是用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/

相关文章:

java - Rectangle 和 Rectangle2D 的区别

java - python-dateutil的Java版本

html - 恶意代码注入(inject): Is it safe enough to remove script tags by regex?

java - 我如何替换replaceAll中符号后的字母/数字

python - 通过正则表达式使用替代方法连接术语

java - 迭代以在索引处查找 Map 条目?

java - gradle类没有生成

java - 通过工厂模式设置最终变量

用 R 字符串中的反斜杠下划线 "_"替换下划线 "\_"

regex - 什么是可以测试字符串是否为有效 Firebase key 的正则表达式?