Explain the Sub-Expression "(?> re)" in Java Regular Expressions

JavaObject Oriented ProgrammingProgramming

The subexpression/metacharacter “(?> re)” matches the independent pattern without backtracking.

Example

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PatternExample {
   public static void main(String args[]) {
      //Reading String from user
      System.out.println("Enter a String");
      Scanner sc = new Scanner(System.in);
      String input = sc.next();
      String regex = "(?>[0-9])";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      //verifying whether match occurred
      boolean bool = matcher.find();
      if(bool) {
         System.out.print("Match found");
      } else {
         System.out.print("Match not found");
      }
   }
}

Output

Enter a String
9848022338
Match found
raja
Published on 19-Nov-2019 14:27:12
Advertisements