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

¿Cómo usar Java RegEx para coincidir con cualquier carácter?

El carácter especial "." en las expresiones regulares de Java coincide con cualquier carácter (único), que puede ser una letra, un número o cualquier carácter especial.

ejemplo1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String args[]) {
      //leer cadena del usuario
      System.out.println("Ingrese una cadena");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //expresión regular que coincide con cualquier carácter
      String regex = ".";
      //compilar expresión regular
      Pattern pattern = Pattern.compile(regex);
      //objeto buscador de coincidencias
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count ++;
      }
      System.out.println("Dado que la cadena contiene "+count+"caracteres.");
   }
}

Resultado de salida

Ingrese una cadena
hello how are you welcome to w3codebox
Dado que la cadena contiene 42 caracteres.

Puede usar la siguiente expresión regular para coincidir con cualquier carácter entre a y b3Un carácter-

a...b

Del mismo modo, la expresión.*”que coinciden con n caracteres.

ejemplo2

El siguiente programa Java lee datos del usuario5una serie de cadenas de caracteres, y acepta cadenas que comiencen con b, terminen con a y contengan cualquier número de caracteres intermedios.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      String regex = "^b.*a$";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter 5 cadenas de entrada: ");
      String input[] = new String[5];
      for (int i=0; i<5; i++) {
         input[i] = sc.nextLine();
      }
      //Crear un objeto Pattern
      Pattern p = Pattern.compile(regex);
      for(int i=0; i<5;i++) {
         //Crear un objeto Matcher
         Matcher m = p.matcher(input[i]);
         if(m.find()) {
            System.out.println(input[i]+: aceptado");
         } else {
            System.out.println(input[i]+: no aceptado");
         }
      }
   }
}

Resultado de salida

Entrar 5 cadenas de entrada:
barbara
boolean
baroda
ram
raju
barbara: aceptado
boolean: no aceptado
baroda: aceptado
ram: no aceptado
raju: no aceptado