Regex 查找匹配模式1但不匹配模式2的字符串

Regex 查找匹配模式1但不匹配模式2的字符串,regex,Regex,我正试图编写一段代码来重构我的系统。 因此,我将阅读我所有的类,并使用regex查找每个名为Manager的类或对象。 我只想为我编写的类这样做,所以我不想找到BeanManager和EntityManager类 目前我的正则表达式是 /([a-zA-Z]*)Manager/ 这很好,但是还包括BeanManager和EntityManager 我发现了这样的问题:。在本例中,OP希望找到与模式不匹配的任何内容,但在我的示例中,我希望找到与模式匹配的所有内容,除非它与第二个模式匹配 我有办法做

我正试图编写一段代码来重构我的系统。 因此,我将阅读我所有的类,并使用regex查找每个名为Manager的类或对象。 我只想为我编写的类这样做,所以我不想找到
BeanManager
EntityManager

目前我的正则表达式是

/([a-zA-Z]*)Manager/
这很好,但是还包括
BeanManager
EntityManager

我发现了这样的问题:。在本例中,OP希望找到与模式不匹配的任何内容,但在我的示例中,我希望找到与模式匹配的所有内容,除非它与第二个模式匹配

我有办法做到吗

对不起,我忘了这些例子

我想包括以下内容

我的经理

我的经理

客户经理

客户经理

测试经理

测试经理

但排除

豆管员

实体管理器


使用具有否定前瞻性的单词边界来排除要忽略的复合词:

\b(?!Bean|Entity)([a-zA-Z]*)Manager\b

请参见

请提供一些您想要匹配的内容和您不想要匹配的内容的示例。谢谢,我非常接近这一点,但缺少了\b这是一个救生圈,我将尽快接受。在这里的大多数示例中,您将看到
^
$
锚的使用,但是
\b
是一个很好的替代品,它可以在更大的字符串中锚定匹配。很高兴有帮助。你需要更多的帮助吗?如果建议的解决方案适用于你,请考虑接受答案。它的效果很好,我只是在检查。抱歉耽搁了:)没问题,编程很幸运!