读书人

正则表达式的序号有关问题

发布时间: 2011-12-30 23:30:45 作者: rapoo

正则表达式的序号问题

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,但不包括该字符

读书人网 >J2SE开发

热点推荐