求教一个正则表达式写法,请进。 我没说清楚,我的意思是,需要找到那些xxx,并且xxx后面不能有abc。所以"\\bxxx\\b"不是我想要的,它不能匹配xxxdef这样的xxx。而,".*xxx.+"也不是我想要的,它不能保证后面不是abc。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 xxx[^abc] 匹配除了xxxa,xxxb,xxxc以外的xxxxxx^abc匹配除了xxxabc以外的xxx此回复参考了jdk1.4.1的 java.util.regex.Pattern 类的帮助,如果还有不清楚,请看帮助 lhj(努力加油) ,说什么啊?你试验过么?帮助我不是没看,看了N次~System.out.println("abcfed".matches("abc^fed"));System.out.println("abcdef".matches("abc^fed"));结果都是false,我不懂。 呵呵,是有点问题,我写过代码试验:import java.util.regex.*;public class test_regex { public test_regex() { } public boolean test_match(String str,String regStr) { System.out.println("parameter: "+str+" " + regStr); Pattern p = Pattern.compile(regStr); Matcher m = p.matcher(str); return m.matches(); } public static void main(String[] args) { test_regex test_regex1 = new test_regex(); String regStr; regStr = ".*xxx[^abc].*"; System.out.println(test_regex1.test_match("jxxxabcjjj",regStr)); System.out.println(test_regex1.test_match("jxxxfffdjj",regStr)); System.out.println(test_regex1.test_match("hxxxadddjj",regStr)); System.out.println(test_regex1.test_match("gxxxbeeejj",regStr)); regStr = ".*xxx.[]*"; System.out.println(test_regex1.test_match("jxxxabcjjj",regStr)); System.out.println(test_regex1.test_match("jxxxfffdjj",regStr)); System.out.println(test_regex1.test_match("hxxxadddjj",regStr)); System.out.println(test_regex1.test_match("gxxxbeeejj",regStr)); }} 问题就是要匹配完整abc哪里,还没有测试成功 不是的哦,我已经搞定了regStr = ".*xxx[~(abc)].*";测试过的import java.util.regex.*;public class test_regex { public test_regex() { } public boolean test_match(String str,String regStr) { System.out.println("parameter: "+str+" " + regStr); Pattern p = Pattern.compile(regStr); Matcher m = p.matcher(str); return m.matches(); } public static void main(String[] args) { test_regex test_regex1 = new test_regex(); String regStr; regStr = ".*xxx[^abc].*"; System.out.println(test_regex1.test_match("jxxxabcjjj",regStr)); System.out.println(test_regex1.test_match("jxxxfffdjj",regStr)); System.out.println(test_regex1.test_match("hxxxadddjj",regStr)); System.out.println(test_regex1.test_match("gxxxbeeejj",regStr)); regStr = ".*xxx[~(abc)].*"; System.out.println(test_regex1.test_match("jxxxabcjjj",regStr)); System.out.println(test_regex1.test_match("jxxxfffdjj",regStr)); System.out.println(test_regex1.test_match("hxxxadddjj",regStr)); System.out.println(test_regex1.test_match("gxxxbeeejj",regStr)); }} 楼上的兄弟,你真是太厉害了。 我看过jdk的文档,里面好像从来没有提到过 ~ 这个符号的用法。 能不能介绍一些这方面的资料看看?谢谢先。 刚学完GUI,做一个小记事本,关于事件监听器..获取事件源有问题....求高手 如何用java判断 在window注册的服务名是否已经存在? 请教一个Jlabel闪动的问题 急,gridlayout布局添加的子空键不是从左到右的添加顺序。高分 如何将WSDL文件通过工具(如axis)转换成interface和impl 编写程序,输出当月日历? org.eclipse.jface.dialogs.MessageDialog怎样更改窗体左上角的图标啊 初学applet,在html里面如何显示? 请指教!! jbuilder的使用问题 问个简单的问题,谢谢帮忙. 关于object []的使用
xxx^abc匹配除了xxxabc以外的xxx此回复参考了jdk1.4.1的 java.util.regex.Pattern 类的帮助,如果还有不清楚,请看帮助
System.out.println("abcdef".matches("abc^fed"));结果都是false,我不懂。
import java.util.regex.*;public class test_regex {
public test_regex() {
}
public boolean test_match(String str,String regStr) {
System.out.println("parameter: "+str+" " + regStr);
Pattern p = Pattern.compile(regStr);
Matcher m = p.matcher(str);
return m.matches();
}
public static void main(String[] args) {
test_regex test_regex1 = new test_regex();
String regStr;
regStr = ".*xxx[^abc].*";
System.out.println(test_regex1.test_match("jxxxabcjjj",regStr));
System.out.println(test_regex1.test_match("jxxxfffdjj",regStr));
System.out.println(test_regex1.test_match("hxxxadddjj",regStr));
System.out.println(test_regex1.test_match("gxxxbeeejj",regStr)); regStr = ".*xxx.[]*";
System.out.println(test_regex1.test_match("jxxxabcjjj",regStr));
System.out.println(test_regex1.test_match("jxxxfffdjj",regStr));
System.out.println(test_regex1.test_match("hxxxadddjj",regStr));
System.out.println(test_regex1.test_match("gxxxbeeejj",regStr));
}}
regStr = ".*xxx[~(abc)].*";
测试过的import java.util.regex.*;public class test_regex {
public test_regex() {
}
public boolean test_match(String str,String regStr) {
System.out.println("parameter: "+str+" " + regStr);
Pattern p = Pattern.compile(regStr);
Matcher m = p.matcher(str);
return m.matches();
}
public static void main(String[] args) {
test_regex test_regex1 = new test_regex();
String regStr;
regStr = ".*xxx[^abc].*";
System.out.println(test_regex1.test_match("jxxxabcjjj",regStr));
System.out.println(test_regex1.test_match("jxxxfffdjj",regStr));
System.out.println(test_regex1.test_match("hxxxadddjj",regStr));
System.out.println(test_regex1.test_match("gxxxbeeejj",regStr)); regStr = ".*xxx[~(abc)].*";
System.out.println(test_regex1.test_match("jxxxabcjjj",regStr));
System.out.println(test_regex1.test_match("jxxxfffdjj",regStr));
System.out.println(test_regex1.test_match("hxxxadddjj",regStr));
System.out.println(test_regex1.test_match("gxxxbeeejj",regStr));
}}
能不能介绍一些这方面的资料看看?谢谢先。