首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java正则表达式的有关问题

2013-12-04 
java正则表达式的问题[解决办法]引用:Quote: 引用:Quote: 引用:Quote: 引用:啥意思?问题是? 想要的结果是?

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可以查出来

热点排行