How to match a character from given string including case using Java regex?


The java.util.regex package of java provides various classes to find particular patterns in character sequences. The pattern class of this package is a compiled representation of a regular expression.

To match a specific character from the given input string −

  • Get the input string.

  • This compile() method of this class accepts a string value representing a regular expression and an integer value representing a flag returns a Pattern object. Compile the regular expression bypassing −

    • The pattern matcher “[ ]” with required character in it ex: “[t]”.

    • The flag CASE_INSENSITIVE to ignore case.

  • The matcher() method of the Pattern class accepts an input string and returns a Matcher object. Create/Retrieve a matcher object using this method.

  • find() − Using the find() method of the Matcher the matches.

Example

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompileExample {
   public static void main( String args[] ) {
      //Reading string value
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input string");
      String input = sc.nextLine();
      //Regular expression to find digits
      String regex = "[t]";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("Number of matches: "+count);
   }
}

Output

Enter input string
Tutorialspoint
Number of matches: 3

Updated on: 19-Nov-2019

285 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements