📅  最后修改于: 2023-12-03 15:01:55.413000             🧑  作者: Mango
在Java中,MatchResult
是一个接口,用于描述成功的匹配结果。end()
是其中的一个方法,用于返回匹配的最后一个字符的索引,与start()
方法对应。
int end(int group)
int end()
end()
方法有一个可选参数group
,表示匹配的组号,若省略则返回整个匹配结果的末尾索引。
end()
方法返回匹配的最后一个字符的索引,返回类型为int
。
下面是一个使用end()
方法的示例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestMatchResult {
public static void main(String[] args) {
String regex = "\\b(\\w+)-\\1\\b";
String input = "Java-Java C++-C++";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String match = matcher.group();
int startIndex = matcher.start();
int endIndex = matcher.end();
System.out.printf("Matched \"%s\" from %d to %d.%n", match, startIndex, endIndex);
}
}
}
输出结果为:
Matched "Java-Java" from 0 to 9.
Matched "C++-C++" from 10 to 17.
上述示例中,使用正则表达式\b(\w+)-\1\b
匹配连续出现两次的单词,即Java-Java
和C++-C++
。其中group()
方法返回匹配的字符串,start()
方法返回匹配的起始索引,end()
方法返回匹配的末尾索引。注意到因为匹配结果共有两个组,因此在调用end()
方法时使用了可选参数group
来指定所需索引所属的组号。如果没有指定,则默认返回整个匹配结果的末尾索引。
end()
方法是MatchResult
接口中的一个方法,用于返回匹配的末尾索引。通过本文的介绍,读者可以了解到该方法的语法、参数和返回值,并通过示例代码来掌握该方法的使用技巧。