正则表达式的序号问题
- Java code
Pattern p = Pattern.compile("\\d{3,5}"); String s = "123-34345-234-00"; Matcher m = p.matcher(s); p(m.matches()); m.reset(); p(m.find()); p(m.start() + "-" + m.end()); p(m.find()); p(m.start() + "-" + m.end()); p(m.find()); p(m.start() + "-" + m.end()); p(m.find());----------------------------------------------------
输出结果:
false
true
0-3
true
4-9
true
10-13
false
这个字符串的序号是怎么编写的,相当于数组的下标吗,如果“123-34345-234-00”对应的序号是从0开始,那么第一个find的序号应该是从0-2,而不是0-3,如何解释输出结果?
[解决办法]
跟String#substring的参数一样,end是结束index,但不包括该字符