我要匹配以下内容
- com.my.company.moduleA.MyClassName
- com.my.company.moduleB.MyClassName
- com.my.company.anythingElse.MyClassName
但不是以下
- com.my.company.核心.MyClassName
我当前的简单正则表达式模式是:
Pattern PATTERN_MODULE_NAME = Pattern.compile("com\\.my\\.company\\.(.*?)\\..*")
Matcher matcher = PATTERN_MODULE_NAME.matcher(className);
if (matcher.matches()) {
// will return the string inside the parentheses (.*?)
return matcher.group(1);
}
所以,基本上,我如何匹配其他所有内容,但不匹配特定字符串,在我的例子中是字符串 core。
请分享您关于如何在 Java 中实现这一点的想法?
谢谢!
最佳答案
您可以使用以下正则表达式:
^com\\.my\\.company\\.(?!core).+?\\.MyClassName$
关于java - 特定字符串的正则表达式反向匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6263923/