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

¿Cómo hacer coincidir caracteres meta de expresiones regulares en Java como caracteres de texto?

El método de compilación de la clase patrón acepta dos parámetros-

  • El valor de cadena de la expresión regular.

  • Un valor entero que es un campo de la clase Pattern.

El campo LITERAL de la clase Pattern habilita la interpretación de texto del patrón. Es decir, todos los caracteres de metacaracteres de expresión regular y secuencias de escape no tienen ningún significado especial, se consideran caracteres de texto. Por lo tanto, si se necesita que los caracteres de metacaracteres de expresión regular se coincidan con caracteres regulares, se deben pasar como valor de banderacompile()se pasa junto con la expresión regular al método.

Ejemplo

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String[] args) {
      System.out.println("Ingrese los datos de entrada: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "^[0-9];
      //Crear un objeto Pattern
      Pattern pattern = Pattern.compile(regex, Pattern.LITERAL);
      //Crear un objeto Matcher
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
         System.out.println(matcher.group());
      }
      System.out.println("Número de coincidencias: ");+count);
   }
}

Salida1

Ingrese los datos de entrada:
9848022338
Número de coincidencias: 0

Salida2

Ingrese los datos de entrada:
^[0-9]
^[0-9]
Número de coincidencias: 1
Te gustará