Java中的 MatchResult end(int) 方法和示例
MatchResult 接口的end(int group)方法用于从指定组中获取已经完成的匹配结果的结束索引之后的偏移量。
句法:
public int end(int group)
参数:此方法采用一个参数组,从该参数组中需要匹配模式的结束索引之后的偏移量。
返回值:该方法返回从指定组匹配的结束索引之后的偏移量。
异常:此方法抛出:
- 如果尚未尝试匹配,或者之前的匹配操作失败,则IllegalStateException 。
- 如果给定组的模式中没有捕获组,则IndexOutOfBoundsException 。
以下示例说明了 MatchResult.end() 方法:
示例 1:
// Java code to illustrate end() method
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
// Get the regex to be checked
String regex = "(G*s)";
// Create a pattern from regex
Pattern pattern
= Pattern.compile(regex);
// Get the String to be matched
String stringToBeMatched
= "GeeksForGeeks";
// Create a matcher for the input String
MatchResult matcher
= pattern
.matcher(stringToBeMatched);
while (((Matcher)matcher).find()) {
// Get the last index of match result
System.out.println(matcher.end(1));
}
}
}
输出:
5
13
示例 2:
// Java code to illustrate end() method
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
// Get the regex to be checked
String regex = "(G*G)";
// Create a pattern from regex
Pattern pattern
= Pattern.compile(regex);
// Get the String to be matched
String stringToBeMatched
= "GFG FGF GFG";
// Create a matcher for the input String
MatchResult matcher
= pattern
.matcher(stringToBeMatched);
while (((Matcher)matcher).find()) {
// Get the last index of match result
System.out.println(matcher.end(0));
}
}
}
输出:
1
3
6
9
11