Java Regex否定前瞻

时间:2012-12-20 07:52:14

标签: java regex

在查看了有关此问题的 StackOverflow 上的答案后,我找到了最准确的答案:

Java regex: Negative lookahead

我去了gskinner并进行了测试。我将/foo/(?!.*\\bbar\\b).+放在模式输入框中,并在正则表达式匹配文本区域中添加以下内容:

  

/富/ abc123doremi

     

/富/ abc123doremi /酒吧/ def456fasola

Gskinner认为这两者都是匹配,但Gskinner错误或上面的正则表达式都不正确。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

当您的文字包含\bbar\b时,您正在寻找/bar/

你的意思可能是\bbar\b(即/foo/(?!.*\bbar\b).+

请注意,“复制\”只是文字中所需的 。这使得在Java中编写正则表达式有点痛苦。