The start() method of Matcher Class is used to get the start index of the match result already done.
Syntax:
public int start()
Parameters: This method do not takes any parameter.
Return Value: This method returns the index of the first character matched.0
Exception: This method throws IllegalStateException if no match has yet been attempted, or if the previous match operation failed.
Below examples illustrate the Matcher.start() method:
Example 1:
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
String regex = "(G*k)" ;
Pattern pattern
= Pattern.compile(regex);
String stringToBeMatched = "Geeks" ;
Matcher matcher
= pattern
.matcher(stringToBeMatched);
MatchResult result
= matcher.toMatchResult();
System.out.println( "Current Matcher: "
+ result);
while (matcher.find()) {
System.out.println(matcher.start());
}
}
}
|
Output:Current Matcher: java.util.regex.Matcher[pattern=(G*k) region=0,5 lastmatch=]
3
Example 2:
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
String regex = "(G*G)" ;
Pattern pattern
= Pattern.compile(regex);
String stringToBeMatched = "GFG" ;
Matcher matcher
= pattern
.matcher(stringToBeMatched);
MatchResult result
= matcher.toMatchResult();
System.out.println( "Current Matcher: "
+ result);
while (matcher.find()) {
System.out.println(matcher.start());
}
}
}
|
Output:Current Matcher: java.util.regex.Matcher[pattern=(G*G) region=0,3 lastmatch=]
0
2
Reference: Oracle Doc