我正在尝试改进正则表达式。
我有这个字符串:
String myString =
"stuffIDontWant$KEYWORD$stuffIWant$stuffIWant$KEYWORD$stuffIDontWant";
我这样做是为了只减去我想要的东西:
String regex = "\\$KEYWORD\\$.+\\$.+\\$KEYWORD\\$";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(myString);
if(m.find()){
String result = stuff.substring(m.start(), m.end());
}
目标是获取stuffIWant$stuffIWant
然后将其拆分为 character $
,因此,为了改进它并避免将 Patter 和 Matcher 导入我的 java 源代码,我阅读了有关环视的内容,所以我的第二种方法是:
//Deletes what matches regex
myString.replaceAll(regex, "");
// Does nothing, and i thought it was just the opposite of the above instruction.
myString.replaceAll("(?! "+regex+")", "");
什么是正确的方法,我的概念在哪里错了?