4

在查看了StackOverflow上关于这个问题的答案后,我找到了我能找到的最准确的答案:

Java 正则表达式:负前瞻

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

/foo/abc123doremi

/foo/abc123doremi/bar/def456fasola

Gskinner 将这两者都识别为匹配项,但很明显 Gskinner 是错误的,或者上面的正则表达式模式不正确。有什么想法吗?

4

1 回答 1

6

您正在寻找,\bbar\b而您的文本包含/bar/.

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

请注意,“复制\在 Java 字符串文字内部需要。这使得在 Java 中编写正则表达式有点痛苦。

于 2012-12-20T07:55:10.220 回答