为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA正则表达式中的逻辑运算符

JAVA正则表达式中的逻辑运算符

陪伴而非守候 2018-12-07 03:37:20
我想要实现一个功能,如下 "aaaaa123baaasdgaa32a2dfgaaaa" * 取出字符串中连续的5个、1个、3个a的字符串 * 最后输出 * aaaaa * aaa * a 我自己用了如下正则 1 String regex = "a{5}||a{3}||a{1}"; 2 /* 上面这个正则输出下面 3 * aaaaa 4 aaa 5 a 6 a 7 a 8 aaa 9 a 10 不符合要求 11 */ 12 13 String str = "aaaaa123baaasdgaa32a2dfgaaaa"; 14 15 Matcher m = Pattern.compile(regex).matcher(str); 16 17 while(m.find()) 18 System.out.println(m.group()); 我知道输出结果错误的原因是因为字符串中的aaaa是连续4个a,符合正则表达式或运算的最后一个表达式:a{1}。但是我现在想要实现的就只是输出连续5个、3个和一个a。请各位大神指教,并想知道关于正则表达式中的逻辑运算符方面的心得。帮助文档中的没有介绍啊!如果问的不够详细也请回复。谢谢  
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

(?<!a)(a{5}|a{3}|a)(?!a)

查看完整回答
反对 回复 2018-12-16
  • 1 回答
  • 0 关注
  • 504 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号