黑马程序员技术交流社区

标题: 关于正则表达式 [打印本页]

作者: 李成强    时间: 2015-4-21 15:08
标题: 关于正则表达式
String str = "aaabbbcccdddddd";
如果有3个且只有3个连续出现的字母则取出来,如上面的结果为“aaa”、“bbb”、“ccc”。
请问怎么使用正则表达式实现,我看了老毕的关于正则表达式的视频了,但是还是不知道怎么解这道题。
作者: itheima_llt    时间: 2015-4-21 19:17
回复一下吧
作者: major2015    时间: 2015-4-21 20:26
String regex="\\w{2}";
应该是这样把
作者: jiao142857    时间: 2015-4-21 21:20
Pattern p = Pattern.compile("(\\w)\\1*");//单词字符出现一次或多次
Matcher m = p.matcher("aaabbbcccdddddd");
        while (m.find()) {
                if (m.group().length() <= 3)//长度小于等于3
                System.out.println(m.group());
        }

正则没学好  请大神们 帮忙改下
作者: 李成强    时间: 2015-4-22 11:24
jiao142857 发表于 2015-4-21 21:20
Pattern p = Pattern.compile("(\\w)\\1*");//单词字符出现一次或多次
Matcher m = p.matcher("aaabbbcccdd ...

您的这个也是一个解决办法,您是在用正则选择有2个或以上的连续字母,再排队掉大于3个的。还是想找找有没有直接正则就只找出来就是只带连续3个字母的
作者: itheima_llt    时间: 2015-4-22 14:45
的确好帖子,推荐加精华
作者: itheima_llt    时间: 2015-4-22 16:41
佩服你,能发这么好的帖子,厉害




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2