正则表达式,字符串中任意位置的负向前瞻

ton*_*rmc 7 regex regex-lookarounds

如果有人问这个问题并且有答案,我很抱歉,但我找不到它。

我了解正则表达式环视和负向前瞻性。

问题是,负向先行检查字符串中当前位置之后的内容。

我需要的是查找并丢弃匹配项,如果字符串包含“职业”和“特殊”等单词,但如果它在字符串中的任何位置包含它们。

这样做的有效方法是什么?

目前我正在使用 PCRE 风格,但正则表达式越通用越好。

谢谢。

anu*_*ava 8

您可以使用这个正则表达式:

^(?!.*(?:career\(s\)|specials)).*
Run Code Online (Sandbox Code Playgroud)

或者如果s是可选的则使用:

^(?!.*(?:career|special)s?).*
Run Code Online (Sandbox Code Playgroud)

正则表达式演示