MatchResult Interface的start(int group)方法用于从指定组获取已经完成的匹配结果的起始索引。
用法:
public int start(int group)
参数:此方法采用一个参数组,该参数组是要求匹配模式的起始索引的组。
返回值:此方法返回与指定组匹配的第一个字符的索引。
异常:该方法抛出:
IllegalStateException如果尚未尝试匹配,或者先前的匹配操作失败。
IndexOutOfBoundsException如果模式中没有具有给定索引的捕获组。
下面的示例说明MatchResult.start()方法:
示例1:
// Java code to illustrate start() 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 first index of match result
System.out.println(matcher.start(1));
}
}
}
输出:
4
12
示例2:
// Java code to illustrate start() 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
= "GFGFGFGFGFGFGFGFGFG";
// Create a matcher for the input String
MatchResult matcher
= pattern
.matcher(stringToBeMatched);
while (((Matcher)matcher).find()) {
// Get the first index of match result
System.out.println(matcher.start(0));
}
}
}
输出:
0
2
4
6
8
10
12
14
16
18
=