English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.regexLa clase de paquete Pattern es la representación compilada de la expresión regular.
Este tipo decompile()El método acepta valores de cadena que representan la expresión regular y devuelvePatternObjeto, a continuación se muestra la firma de este método.
static Pattern compile(String regex)
Otra variante de este método acepta valores enteros que representan las banderas, a continuación se muestra la firma del método compile con dos parámetros.
static Pattern compile(String regex, int flags)
EstePatrónLa clase proporciona varios dominios, cada uno representando una bandera
Número | Columna y descripción |
---|---|
1 | CANON_EQ Sólo cuando dos caracteres normales son igualesSóloCoincide. |
2 | CASE_INSENSITIVE Coincide con caracteres, sin distinción de mayúsculas y minúsculas. |
3 | Comentarios Permite espacios y comentarios de patrón. |
4 | DOTALL Habilita el modo dotall. Donde el carácter meta “.” coincide con todos los caracteres, incluyendo los caracteres de final de línea. |
5 | LITERAL Habilita el análisis de texto del patrón. Es decir, todos los caracteres meta y secuencias de escape en la secuencia de entrada se consideran caracteres de texto. |
6 | MULTILINE Habilita el modo de múltiples líneas, es decir, considera toda la secuencia de entrada como una única línea. |
7 | UNICODE_CASE Habilita laReconoceLa coincidencia de mayúsculas y minúsculas de Unicode, es decir, cuando se utiliza junto con CASE_INSENSITIVE. Si se realiza una búsqueda de caracteres Unicode con la expresión regular, los caracteres Unicode en ambas situaciones coincidirán. |
8 | UNICODE_CHARACTER_CLASS Habilita la versión Unicode de las clases de caracteres predefinidas y POSIX. |
9 | UNIX_LINES Esta bandera habilita el modo de línea Unix. |
Este tipo deflags()El método devuelve las banderas utilizadas en el patrón actual.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class COMMENTES_Example { public static void main(String[] args) {}} Scanner sc = new Scanner(System.in); System.out.println("Ingrese su nombre: "); String name = sc.nextLine(); System.out.println("Ingrese su fecha de nacimiento: "); String dob = sc.nextLine(); //La expresión regular comienza con MM-DD-Formato YYY acepta fechas String regex = "^(1[0-2]|0[1-9)]/ # Para Mes\n" + "(3[01]|[12][0-9]|0[1-9)]/ # Para Fecha\n" + "[0-9]4}$ # Para Año"; //Crear un objeto Pattern Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS); //Crear un objeto Matcher Matcher matcher = pattern.matcher(dob); boolean result = matcher.matches(); if(result) { System.out.println("La fecha de nacimiento proporcionada es válida"); } else { System.out.println("La fecha de nacimiento proporcionada no es válida"); } System.out.println("Bandera utilizada: ");+ pattern.flags()); } }
Resultado de salida
Ingrese su nombre: Krishna Ingrese su fecha de nacimiento: 09/26/1989 La fecha de nacimiento proporcionada es válida Bandera utilizada: 4