Pattern p = Pattern.compile("abc(?!xy2)"); 正则表达式是什么意思啊,匹配什么格式的内容的啊?请解答一下
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EEE {
public static String replace(String inputStr, String replaceStr) {
Pattern p = Pattern.compile("abc(?!xy2)");
Matcher m = p.matcher(inputStr);
return m.replaceAll(replaceStr);
}
public static void main(String[] args) {
System.out.println(EEE.replace("abcxabcyabcxyabcxy2", "ooo"));
;
}
}
为什么会输出oooxoooyoooxyabcxy2
谢谢
------解决方案--------------------
(?!exp)表示正则表达式中的零宽断言
匹配后面跟的不是exp的位置
abc(?!xy2) 也就是匹配abcaakjdf,abc2xy2,。。
abc后面不是xy2的字符串