Вы должны использовать следующее регулярное выражение, если хотите соответствовать всему предложению:
^(?!.*Apple).*Peach.*$
демо: https://regex101.com/r/G6RdPO/2/
Также, если случай не имеет значения, вы можете изменить регулярное выражение на:
(?i)^(?!.*Apple).*Peach.*$
И последнее, но не менее важное: в вашем вопросе неясно, что делать с peaches
, apples
и pineapples
(которые содержат apple
). Если вы не хотите принимать их во внимание, используйте:
(?i)^(?!.*\bApple\b).*\bPeach\b.*$
демо: https://regex101.com/r/G6RdPO/5
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
Nothing - Not match
Peaches are good - Not match
Apples an Peaches - Not match
Pineapple and Peach - Match
Если вы хотите принять во внимание также их множественное число:
(?i)^(?!.*\bApple(?:s)?\b).*\bPeach(?:es)?\b.*$
демо: https://regex101.com/r/G6RdPO/4
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
Nothing - Not Match
Peaches are good - Match
Apples an Peaches - Not match
Pineapple and Peach - Match