我正在使用Java regex util创建一个程序,现在我需要找到一些字符串,这些字符串有一些单词并且没有其他单词。
例如:
我想找到的字符串是' for'并删除其后的所有内容,但如果该字符串的中心位于',则我们什么都不做。
我想检查一些句子:
1. This program for all people
=>这个程序(在'之后删除所有内容)
2. Centre for Effective Practice
=>什么也不做,因为有'中心为'在句子中
我需要一个可以解决问题的正则表达式。
我也尝试使用这种模式:"(?=(for.*))(?!(Centre for))"
然而它并没有很好地运作
答案 0 :(得分:3)
您可以使用负面的lookbehind:
String str = "This program for all people";
String repl = str.replaceFirst("(?<!Centre) for.*", "");