日期:2014-05-20  浏览次数:20714 次

在线等 Pattern p = Pattern.compile("abc(?!xy2)"); 正则表达式是什么意思啊,匹配什么格式的内容的啊?请解答一下
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的字符串