Matcher
class provides start(), end() methods to get the tart index of this
matcher's region and to get the offset after the last character
matched respectively.
public
int end()
Returns
the offset after the last character matched.
public
int start()
Returns
the start index of the previous match.
import java.util.regex.*; import java.io.*; public class RegExHarness { public static void main(String args[]) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Pattern pattern; Matcher matcher; String regex; String text; System.out.println("Enter Regular Expression"); regex = br.readLine(); pattern = Pattern.compile(regex); while(true){ try{ System.out.println("Enter the string"); text = br.readLine(); matcher = pattern.matcher(text); while(matcher.find()){ System.out.print("I found the text " + matcher.group()); System.out.print(" starting at index " + matcher.start()); System.out.println(" Ending at index " + matcher.end()); } } catch(IOException e){ System.out.println(e); } } } }
Sample
Output
Enter Regular Expression is Enter the string this is easy task... is it? I found the text is starting at index 2 Ending at index 4 I found the text is starting at index 5 Ending at index 7 I found the text is starting at index 21 Ending at index 23
No comments:
Post a Comment