仅在没有其他字符串

时间:2017-03-17 18:20:26

标签: regex pcre

我希望在所有情况下匹配包含MYSTUFF的字符串,MYSTUFF前面有ENABLED_。以便以下内容匹配:

  • MYSTUFF
  • m_MYSTUFF
  • MYSTUFFIsGreat
  • allOf_MYSTUFF

但以下情况不会:

  • ENABLED_MYSTUFF
  • m_ENABLED_MYSTUFF
  • ENABLED_MYSTUFFIsGreat
  • allOf_ENABLED_MYSTUFF

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

我想要的甚至可以使用正则表达式吗?

1 个答案:

答案 0 :(得分:2)

您可以使用negative look-behind断言...

来完成此操作
\w*(?<!ENABLED_)MYSTUFF\w*

参见 regex demo