老师想请教一个正则表达式代码的问题

来源:12-1 课程总结

厥~~~

2020-04-13

package test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo1 {
public static void main(String[] args) {
Pattern p=Pattern.compile("\d{3,5}" );
Matcher m=p.matcher(“123-34345”);
boolean yesorno=m.matches();

    System.out.println(yesorno);
    System.out.println(m.find());
    System.out.println(m.start());
    System.out.println(m.group());
    System.out.println(m.find());
    System.out.println(m.start());
    System.out.println(m.group());

// System.out.println(m.find());
// System.out.println(m.find());
// System.out.println(m.find());
}
}

package test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo1 {
public static void main(String[] args) {
Pattern p=Pattern.compile("\d+" );
Matcher m=p.matcher(“123-34345”);
boolean yesorno=m.matches();

    System.out.println(yesorno);
    System.out.println(m.find());
    System.out.println(m.start());
    System.out.println(m.group());
    System.out.println(m.find());
    System.out.println(m.start());
    System.out.println(m.group());

// System.out.println(m.find());
// System.out.println(m.find());
// System.out.println(m.find());
}
}

这两个代码只是改了正则表达式\d{3,5} \d++ 为啥会产生截然不同的结果。
在我看来 这两个正则表达式都是匹配了123,任何到了-这个符号就终止了并没有任何不同。可能是因为我看不懂源码。

通过老师的课程我已经找到了非常好的 OFFER,期待老师的SPRING课程!
真的面试题老师全部涵盖到了。

写回答

1回答

翔仔

2020-04-14

非常开心能看到课程能对同学起到帮助,真的很替同学开心,也希望同学能帮忙多多推荐翔仔的体系课程,大家一起加油:)

同学说的Spring课程已经上线了呢。。欢迎捧场

https://coding.imooc.com/class/420.html


针对同学的结果,我看两个执行起来都一样呀。。

1.
false
true
4
34345
false

2.
false
true
4
34345
false


1
0

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程