How to match digits using Java Regular Expression (RegEx)


You can match digits in a given string using the meta character "\d" or by using the following expression : 

[0-9]

Example 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   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.nextLine();
      String regex = "\d";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("Number of digits: "+count);
   }
}

Output

Enter a String
sample text 1234 6657
Number of digits: 8

Example 2

import java.util.Scanner;
public class RegexExample {
   public static void main( String args[] ) {
      //regular expression to accept 10 digits
      String regex = "\d{10}";
      System.out.println("Enter input value: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      boolean result = input.matches(regex);
      if(result) {
         System.out.println("10 digit number");
      } else {
         System.out.println("wrong input");
      }
   }
}

Output 1

Enter input value:
9848022558
10 digit number

Output 2

Enter input value:
5337
wrong input

Updated on: 19-Nov-2019

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements