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

Caracteres meta de expresiones regulares re {n,m} en Java

subexpresión/carácter especial " re {n, m} al menos n y hasta m coincidencias con la expresión anterior.

Ejemplo1

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("Número de coincidencias: ")+count);
   }
}

Resultado de salida

Número de coincidencias: 1

Ejemplo2

El siguiente programa Java lee el valor del nombre del usuario y permite solo1a20 caracteres.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main(String args[] ) {
      //Expresión regular para coincidir con caracteres al menos 1 casi 20
      String regex = "[a-zA-Z]{1,20}";
      Scanner sc = new Scanner(System.in);
      System.out.println("Ingrese el nombre del estudiante:");
      String name = sc.nextLine();
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(name);
      if(m.matches()) {
         System.out.println("El nombre es apropiado");
      } else {
         System.out.println("El nombre está en un lugar inapropiado");
      }
   }
}

Salida1

Ingrese el nombre del estudiante:
Mouktika
El nombre es apropiado

Salida2

Ingrese el nombre del estudiante:
ka 34
El nombre está en un lugar inapropiado

Salida3

Ingrese el nombre del estudiante:
Sri Veera Venkata Satya Sai Suresh Santosh Samrat
El nombre está en un lugar inapropiado
Te gustará