Matcher类的end()方法用于在已完成匹配结果的最后一个字符匹配之后获取偏移量。
用法:
public int end()
参数:此方法不带任何参数。
返回值:此方法返回匹配的最后一个字符后的偏移量
异常:如果尚未尝试匹配,或者先前的匹配操作失败,则此方法引发IllegalStateException。
下面的示例说明Matcher.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
Matcher matcher
= pattern
.matcher(stringToBeMatched);
// Get the current matcher state
MatchResult result
= matcher.toMatchResult();
System.out.println("Current Matcher: "
+ result);
while (matcher.find()) {
// Get the last index of match result
System.out.println(matcher.end());
}
}
}
输出:
Current Matcher: java.util.regex.Matcher[pattern=(G*s) region=0,13 lastmatch=]
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
Matcher matcher
= pattern
.matcher(stringToBeMatched);
// Get the current matcher state
MatchResult result
= matcher.toMatchResult();
System.out.println("Current Matcher: "
+ result);
while (matcher.find()) {
// Get the last index of match result
System.out.println(matcher.end());
}
}
}
输出:
Current Matcher: java.util.regex.Matcher[pattern=(G*G) region=0,11 lastmatch=]
1
3
6
9
11