The start(String string) method of Matcher Class is used to get the start index of the match result already done, from the specified string.
Syntax:
public int start(String string)
Parameters: This method takes a parameter string which is the String 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 string.
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 name.
Below examples illustrate the Matcher.start() method:
Example 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 = "\\b(?<Geeks>[A-Za-z\\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("Geeks"));        }    }} |
Current Matcher: java.util.regex.Matcher[pattern=\b(?[A-Za-z\s]+) region=0,13 lastmatch=]
0
Example 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 = "\\b(?<GFG>[A-Za-z\\s]+)";          // 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("GFG"));        }    }} |
Current Matcher: java.util.regex.Matcher[pattern=\b(?[A-Za-z\s]+) region=0,22 lastmatch=]
3
Reference: Oracle Doc
