The start(int group) method of Matcher Class is used to get the start index of the match result already done, from the specified group.
Syntax:
Java
Java
public int start(int group)Parameters: This method takes a parameter group which is the group from which the start index of the matched pattern is required. Return Value: This method returns the index of the first character matched from the specified group. Exception: This method throws:
- IllegalStateException if no match has yet been attempted, or if the previous match operation failed.
- IndexOutOfBoundsException if there is no capturing group in the pattern with the given index.
// 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
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 first index of match result
System.out.println(matcher.start(1));
}
}
}
Output:
Example 2:
Current Matcher: java.util.regex.Matcher[pattern=(G*s) region=0,13 lastmatch=] 4 12
// 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
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 first index of match result
System.out.println(matcher.start(0));
}
}
}
Output:
Reference: Oracle DocCurrent Matcher: java.util.regex.Matcher[pattern=(G*G) region=0,19 lastmatch=] 0 2 4 6 8 10 12 14 16 18