首页 > 解决方案 > Java Regex:匹配任何单词单词并且必须包含某个作品,但除了一个单词

问题描述

我需要一个 Java 正则表达式来匹配除某个单词之外的任何单词,同时包含另一个单词。

例如,字符串不能包含Apple,但必须具有Peach

Apple and Peach - Not match
Peach and Apple- Not match
Peach - Match 
Three Peach - Match 
Peach is good - Match 
Peach is good, but Apple is bad - Not match

即不能出现在字符串中Apple Peach

到目前为止,我已经得到了这个代码。

^(?!(?:Apple)$)Peach$

标签: javaregex

解决方案


您应该使用.*匹配字符串开头和您要查找的关键字之间的任何字符:

^(?!.*Apple).*Peach

演示:https ://regex101.com/r/t3Dz4E/1


推荐阅读