如何写出不以ABC开头的正则表达式?(不用求反功能)
如题
------解决方案--------------------((?!abc)\w)+
------解决方案--------------------为什么不能用求反功能
------解决方案--------------------题目是不是这样的:写出以ABC字符串开头,不用(^ABC)取反做?要是这样的话就用向后预搜索:(? <!ABC).*(这是不以ABC开头的任何串。当然.可以换成你想要的匹配)
------解决方案-------------------- if(! "abcddd ".startsWith( "abc ")){
System.out.println( "^-^ ");
}
这种非正则表达式的行吗,另外 "向后预搜索 "什么意思 请楼上赐教
------解决方案-------------------- String str[] =new String[]{ "abcd ", "123 ", "adc ", "1abc "};
Pattern p = Pattern.compile( "(?!abc)^(.*)$(? <!abc) ");
for(int i=0;i <str.length;i++){
Matcher m = p.matcher(str[i]);
if(m.find()){
System.out.println(m.group(1));
}
}
------解决方案--------------------(?!abc)^(.*)$(? <!abc)
结果:
123
adc
对吗???
------解决方案--------------------^(?!ABC).+$
这样可以不????????????????