我对start()
and的定义中关于 Matcher 的 Java 文档有点困惑end()
。
考虑以下代码:
public static void test()
{
String candidate = "stackoverflow";
Pattern p = Pattern.compile("s");
Matcher m = p.matcher(candidate);
m.find();
int index = m.start();
out.println("Index from Match\t"+index);
int offset = m.end();
out.println("Offset from match\t"+offset);
}
以上将返回以下结果。
匹配 0 的索引
与第 1 场比赛的偏移量
据我所知,每个 char 数组或字符串都将从索引 0 开始,并且在上面的表达式中是正确的。但是 Offset 也返回相同的字符 's' 但为什么它以 1 开头?