仅当前面没有另一个字符串时才匹配字符串

Match string only when not preceded by another string

我想在所有情况下匹配包含 MYSTUFF 的字符串, 除了 MYSTUFF 前面有 ENABLED_ 时。以便以下匹配:

但以下不会:

我尝试了几种使用负前瞻(\w*(?!.*ENABLED_)MYSTUFF\w* 的变体)和条件((?(?!=ENABLED_)(MYSTUFF)) 的变体)的变体,但我没有设法得到我想要的结果。

我想要的东西甚至可以用正则表达式实现吗?

您可以使用 negative look-behind 断言来完成此操作...

\w*(?<!ENABLED_)MYSTUFF\w*

regex demo