A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

昨天在看正则表达式的时候,在查看api发现一条正则表达式有三种写法(即三种不同的量词)但经网上查阅资料对他的原理还是不太清楚。下面贴一些代码:











  1. private static void Demo3() {
  2. String str = "008.109.090.090";
  3. String str = "008.109.090.090";
  4. String reg = "xxx";//0+(\\d+?);0+?(\\d+?);0+*(\\d+?)
  5. Pattern p = Pattern.compile(reg);
  6. Matcher m = p.matcher(str);
  7. while (m.find()) {
  8. System.out.println(m.group());
  9. }
  10. }
复制代码

当"xxx"中分别填入0+(\\d+?);0+?(\\d+?);0++(\\d+?)时结果分别为:
008            
09
09
09      



00
09
09
09

008
09
09
09


通过观察以上的结果,问题来了:就是为什么不同的写法,应该表示同一个意思但为什么打印的结果不同呢?







1 个回复

倒序浏览
顶。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马