English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Regular Expression Meta Character in Java - re {n, m}

Subexpression/The meta-character " re {n, m} At least n and at most m matches of the preceding expression.

Example1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main(String args[]) {
      String regex = "xyy{2,4";
      String input = "xxyyzxxyyyyxyyzxxyyzz";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int count = 0;
      while(m.find()) {
         count++;
      }
      System.out.println("Number of matches: ")+count);
   }
}

Output result

Number of matches: 1

Example2

The following Java program reads the name value from the user and allows only1to20 characters.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main(String args[] ) {
      //Regular expression to match characters at least 1 almost 20
      String regex = "[a-zA-Z]{1,20"
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter students name:");
      String name = sc.nextLine();
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(name);
      if(m.matches()) {
         System.out.println("Name is appropriate");
      }
         System.out.println("Name is inappropriate");
      }
   }
}

Output1

Enter students name:
Mouktika
Name is appropriate

Output2

Enter students name:
ka 34
Name is inappropriate

Output3

Enter students name:
Sri Veera Venkata Satya Sai Suresh Santosh Samrat
Name is inappropriate