正则表达式立即消极前瞻

Thr*_*eaT 1 java regex

我想匹配,"foo 6"但不是"foo 6</end>".目前我的表达方式是:foo\s\d+(?!.*</end>).问题是,foo 6如果</end>字符串中有标记方式,它也将丢弃.即

foo 6匹配 - 这是正确的

foo 6</end>不匹配 - 这是正确的

foo 6 word word word word number word number word</end>不匹配 - 这是不正确的,因为foo 6这里仍然匹配.

正则表达式应该允许上述3种情况正确

NPE*_*NPE 5

根据您的解释,您不需要.*:

foo\s\d+(?!</end>)
Run Code Online (Sandbox Code Playgroud)