Quantifier 
 | 
  
Example 
 | 
  
Description 
 | 
 
?? 
 | 
  
X?? 
 | 
  
X, once or not at all 
 | 
 
*? 
 | 
  
X*? 
 | 
  
X, zero or more times 
 | 
 
+? 
 | 
  
X+? 
 | 
  
X, one or more times 
 | 
 
{n}? 
 | 
  
X{n}? 
 | 
  
X, exactly n times 
 | 
 
{n,}? 
 | 
  
X{n,}? 
 | 
  
X, at least n times 
 | 
 
{n,m}? 
 | 
  
X{n,m}? 
 | 
  
X, at least n but not more than m times 
 | 
 
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; while(true){ try{ System.out.println("Enter Regular Expression"); regex = br.readLine(); pattern = Pattern.compile(regex); System.out.println("Enter the string"); text = br.readLine(); matcher = pattern.matcher(text); matcher.matches(); 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 \d{5}? Enter the string 98765 I found the text 98765 starting at index 0 Ending at index 5 Enter Regular Expression \d{5,7}? Enter the string 987 java.lang.IllegalStateException: No match found Enter Regular Expression \d{5,7}? Enter the string 987654 I found the text 987654 starting at index 0 Ending at index 6 Enter Regular Expression
No comments:
Post a Comment