Regex 查找匹配模式1但不匹配模式2的字符串
我正试图编写一段代码来重构我的系统。 因此,我将阅读我所有的类,并使用regex查找每个名为Manager的类或对象。 我只想为我编写的类这样做,所以我不想找到Regex 查找匹配模式1但不匹配模式2的字符串,regex,Regex,我正试图编写一段代码来重构我的系统。 因此,我将阅读我所有的类,并使用regex查找每个名为Manager的类或对象。 我只想为我编写的类这样做,所以我不想找到BeanManager和EntityManager类 目前我的正则表达式是 /([a-zA-Z]*)Manager/ 这很好,但是还包括BeanManager和EntityManager 我发现了这样的问题:。在本例中,OP希望找到与模式不匹配的任何内容,但在我的示例中,我希望找到与模式匹配的所有内容,除非它与第二个模式匹配 我有办法做
BeanManager
和EntityManager
类
目前我的正则表达式是
/([a-zA-Z]*)Manager/
这很好,但是还包括BeanManager
和EntityManager
我发现了这样的问题:。在本例中,OP希望找到与模式不匹配的任何内容,但在我的示例中,我希望找到与模式匹配的所有内容,除非它与第二个模式匹配
我有办法做到吗
对不起,我忘了这些例子
我想包括以下内容
我的经理
我的经理
客户经理
客户经理
测试经理
测试经理
但排除
豆管员
实体管理器
使用具有否定前瞻性的单词边界来排除要忽略的复合词:
\b(?!Bean|Entity)([a-zA-Z]*)Manager\b
请参见请提供一些您想要匹配的内容和您不想要匹配的内容的示例。谢谢,我非常接近这一点,但缺少了\b这是一个救生圈,我将尽快接受。在这里的大多数示例中,您将看到
^
和$
锚的使用,但是\b
是一个很好的替代品,它可以在更大的字符串中锚定匹配。很高兴有帮助。你需要更多的帮助吗?如果建议的解决方案适用于你,请考虑接受答案。它的效果很好,我只是在检查。抱歉耽搁了:)没问题,编程很幸运!