读书人

java正则表达式的有关问题

发布时间: 2013-12-04 17:21:02 作者: rapoo

java正则表达式的问题
java正则表达式的有关问题
java正则表达式的有关问题
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

啥意思?问题是? 想要的结果是?

如果是问为什么不能正确匹配那估计就是正则没写对,如果是问正则式就把问题写清楚





正则规则:查询含有abab样式的数字。如1212,1231212.4561212789
我的写的正则表达式:(\d)*(?!\1)(\d)\1\2
我在网上在线测试查询到了想要的结果

在java中、我是这样写的
(\\d)*(?!\1)(\\d)\1\2
却查询不到想要的结果
我的意思是在java中应该怎么写



String strTest = "1231212.4561212789";
String regex = "[\\d]1212[\\d]";
Pattern p1 = Pattern.compile(regex);
Matcher m1 = p1.matcher(strTest);

if(m1.find()) {
System.out.println("匹配成功");

}else {
System.out.println("未匹配成功");
}

不是1212,是所有这种格式的数字都要匹配。abab类型的数字、a是第一个数字b是第二个数字


哦,这样啊,那你试试这个:
String strTest = "123434234678";

String regex = "((\\d)(?!\\2)(\\d))\\1";

Pattern p1 = Pattern.compile(regex);
Matcher m1 = p1.matcher(strTest);

if(m1.find()) {
System.out.println("匹配成功");

}else {
System.out.println("未匹配成功");
}

[解决办法]
引用:
1212的话可以查出来
123331212这样就不行了


刚测了下,123331212可以查出来

读书人网 >Java相关

热点推荐