Pattern COMMENTS field in Java with examples


The COMMENTS field of the Pattern class allows whitespace and comments in pattern. When you use this as flag value to the compile() method, white spaces and, comments starting with # are ignored in the given pattern.

Example 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class COMMENTES_Example {
   public static void main( String args[] ) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input data: ");
      String input = sc.nextLine();
      //Regular expression to find digits
      String regex = "\d #ignore this comment\n";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      String result = "";
      while (matcher.find()) {
         count++;
         result = result+matcher.group();
      }
      System.out.println("Number of digits in the given text: "+count);
   }
}

Output

Enter input data:
sample1 text2 with3 numbers4 in5 between6
Number of digits in the given text: 6

Example 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class COMMENTES_Example {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String name = sc.nextLine();
      System.out.println("Enter your Date of birth: ");
      String dob = sc.nextLine();
      //Regular expression to accept date in MM-DD-YYY format
      String regex = "^(1[0-2]|0[1-9])/
         # For Month\n" + "(3[01]|[12][0-9]|0[1-9])/
         # For Date\n" + "[0-9]{4}$ # For Year";
      //Creating a Pattern object
      Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(dob);
      boolean result = matcher.matches();
      if(result) {
         System.out.println("Given date of birth is valid");
      } else {
         System.out.println("Given date of birth is not valid");
      }
   }
}

Output

Enter your name:
Krishna
Enter your Date of birth:
09/26/1989
Given date of birth is valid

Updated on: 20-Nov-2019

380 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements