En este ejemplo hemos impuesto los detalles de las especificaciones. Rompiendo el problema en partes más pequeñas piezas Nombre se compone de * las letras del alfabeto en minúsculas o superior entre 3 a 18 letras, ambos inclusive, y /o * los dígitos del 0 al 9 entre 3 a 18 dígitos, incluido, y /o * el guión bajo entre 3 a 18 dígitos, incluido. Esto significa, que puede tener hasta 18 caracteres de subrayado para un nombre. Dejemos que por simplicidad. * Hay que limitar la cadena disponible para 3 o 6 caracteres.
Que se traduce en expresiones regulares La expresión regular para la primera parte es: /^ [a-zA-Z] {3,18} $ /La expresión regular para la segunda parte es: /^ [0-9] {3,18} $ /El regex para la tercera parte es: /^ [_] {3,18} $ /Combinando la expresiones regulares En la sección de descomposición, los tres parte de arriba se combinan con la frase, "y /o" No hay forma directa de hacer esto, así que tenemos que deducirlo. Esta es la expresión regular combinado: /^ [a-zA-Z0-9 _] {3,18} $ /Optimización del Regex Combinado Esto significa acortar la expresión regular combinado.
Tenga en cuenta que la clase [a-zA-Z0-9_] se abrevia a \\ w. La expresión regular optimizado es: /^ [\\ w] {3,18} $ /Backtracking Hemos visto cómo hacer coincidir las alternativas utilizando el metacarácter alternancia, |. Cuando juego alternativas, Perl utiliza un proceso conocido como marcha atrás. Voy a ilustrar esto con un ejemplo. Considere la siguiente expresión: "12345" = ~ /(124 | 123) (46 | 4 | 45) /Voy a explicar el retroceso de explicar el funcionamiento de la expresión anterior. Los siguientes pasos explican cómo PHP resuelve la expresión anterior. A.
Se inicia con el primer número de la cadena dispone de '1'. B. Se trata de la primera alternativa en el primer grupo de '124'. C. Se ve el juego de '1' seguido de '2'. Eso esta bien. D. Se da cuenta de que "4" en la expresión regular no coincide '3' en la cadena disponibles - que
Conexión Checker