我使用以下正则表达式:
^[^^DD(| ]
有了这些数据:
jfklajf
^DD
hjhkjk
DIOL(.D1)
表达式正确识别第一行 (jfkl...),但无法识别最后一行 (DIOL...)。我需要将这两行识别为与行开头的模式 ^DD(
不匹配。
我做错了什么?
谢谢
最佳答案
根据您的评论,您可以使用否定。前瞻与 anchor 结合:
^(?!\^DD|[ ]{4}).+
分割来看,这表示:
^ # match start of the line
(?! # neg. lookahead
\^DD # neither ^DD
| # nor
[ ]{4} # four spaces
)
.+ # omit empty lines
参见a demo on regex101.com 。请注意,您需要在 Java
中对反斜杠进行双转义。
关于java - 正则表达式否定无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48667854/