Guía para principiantes de expresiones regulares (regex)
Una expresión regular es un conjunto de caracteres que forman un patrón que se puede buscar en una cadena. Se pueden usar expresiones regulares cheque como comprobar un número de tarjeta de crédito, Búsqueda por coincidencia de texto complejo y reemplaza el texto correspondiente con otra cuerda. También tiene un excelente soporte multilingüe: apréndalo una vez y podrá usarlo en muchos lenguajes de programación.
He visto a muy pocas personas mirar expresiones regulares por primera vez y luego ignorarlas por completo. No los culpo; la sintaxis de las expresiones regulares es compleja y hará temblar a muchas personas como estos lenguajes de línea de comandos, solo que peor. Pero cada cosa nueva da miedo y al principio parece imposible de aprender. Entonces, tomando prestadas las palabras de Horace, diría esto; Emprende, se valiente, toma riesgos y hazte sabio.
30 herramientas y recursos útiles para expresiones regulares
Una expresión regular, o mejor conocida como expresión regular, es un modelo que consta de reglas que se utilizan para hacer coincidir.... Lee mas
Expresiones regulares - Introducción
Las expresiones regulares se originan a partir de Neurología y matemáticas e introducido solo en la programación de 1968 ken thompson Las búsquedas de texto se realizan en el editor de texto QED. Ahora es parte de muchos lenguajes de programación, incluidos Perl, Java, Python, Ruby y JavaScript.
Veamos algunos ejemplos de cómo funcionan las expresiones regulares.
Usaré JavaScript en mi ejemplo. Ahora, para pasar el nivel de principiante, necesitas aprender todo Símbolos, clases, cuantificadores, modificadores y métodos Usado en expresiones regulares Página de expresiones regulares en Mozilla Developer Network Allí puedes ver una tabla con todos ellos. También puede consultar la hoja de trucos al final de este artículo, que contiene los caracteres más utilizados.
Veamos un ejemplo sencillo con una explicación. Esta es una expresión regular.
Esto es lo que buscará la expresión regular anterior en una fila, un carácter "B" seguido de (inclusive) "a" a "z", "A" a "Z" y el número 0 a cada carácter entre al menos uno de 9
Aquí hay un ejemplo de una coincidencia en la fila resaltada:
cesta
, bombilla,
B12
vitamina
BaSO4
, N
antes de Cristo
empresa
La expresión regular anterior detendrá la búsqueda.
cesta
y devuelve una respuesta positiva. Esto se debe a que modificador global 'g
"Hay que aclarar Si desea que la expresión regular vea todas las coincidencias posibles.
Ahora veamos cómo usar esta expresión en JavaScript test
El método es: si se encuentra una coincidencia, devuelve true
, otros false
.
var input = "your test string", regex = /B[a-zA-Zd]+/; if(!regex.test(input)) alert('No match is found'); else alert('A match is found');
Intentemos otro enfoque: match
Devuelve las coincidencias encontradas en la matriz.
var input = "your test string", regex = /B[a-zA-Zd]+/g, /*I've added the global modifier 'g' to the regex to get all the matches*/ ary = input.match(regex); if(ary===null) alert('No match is found'); else alert('matches are: ' + ary.toString());
que tal las cuerdas replace
Ahora probemos con expresiones regulares.
var input = "your test string", regex = /B[a-zA-Zd]+/g; alert(input.replace(regex, "#"));
A continuación se muestra un lápiz de código que puede configurar. Haga clic en la pestaña "JavaScript" para ver el código JS.
Ejercicio de expresiones regulares
Para los ejercicios, puedes buscar en Google "ejercicios de expresiones regulares" e intentar resolverlos. Dependiendo del nivel de dificultad, esto es lo que puede esperar cuando pruebe estos ejercicios.
básico
para mi puede Confirmar la contraseña Suficiente para principiantes. Por lo tanto, verifique las contraseñas que tengan de 8 a 16 caracteres, alfanuméricos y que le permitan seleccionar caracteres especiales.
Medio
Aquí es donde necesita practicar con más datos del mundo real y aprender más puntos sobre expresiones regulares como Mirando hacia adelante, mirando detrás de las declaraciones y partidos de grupo;
- Confirmar PIN, hexadecimal, fecha, ID de correo electrónico, flotante.
- Reemplazar ceros finales, espacios, palabras coincidentes
- Extraer diferentes partes de la URL
avanzado
Puede refinar la solución para el ejercicio anterior: la mejor expresión de correo electrónico regular contiene miles de caracteres, por lo que Llévalo donde te sea conveniente, eso es suficienteTambién puedes probar:
- Analizar HTML o XML (aunque esto no se recomienda en el mundo real, ya que analizar lenguajes irregulares como HTML usando expresiones regulares nunca es seguro. Además, analizar XML es una tarea difícil, más adecuada para usuarios avanzados)
- cambiar las etiquetas
- Eliminar comentarios (excluyendo comentarios condicionales en IE)
Herramienta de expresión regular
herramienta Expresiones regulares visuales Una de las cosas más geniales para mí. Si encuentra expresiones regulares largas y complejas, simplemente cópielas y péguelas en una de las herramientas y podrá ver el flujo con claridad. Además, hay muchas herramientas que puede usar para trabajar con código de expresiones regulares. Ellos también mostrar ejemplos y trucos y compartir oportunidades.
- depurador - Dibuja un gráfico para expresiones regulares en función de los datos que ingresa, desde allí puede compartir rápidamente con StackOverflow.
- expresión regular - Puedes usar esto para probar tu expresión regular. También proporciona enlaces, hojas de trucos y ejemplos para ayudarlo.
Cheat Sheet con expresiones regulares
simbólico | definición |
[abc] | cada carácter individual a, b o c |
[^abc] | cualquier signo que no sea a, b o c |
[a-z] | (inclusive) caracteres entre a y z |
[^a-z] | caracteres que no sean de la a a la z |
[A-Z] | (inclusive) caracteres de la A a la Z. |
. | cada signo |
с | cualquier caracter en blanco |
C | cada caracter sin espacio |
d | cualquier número del 0 al 9 |
D | todo tipo de no numericos |
w | Cada símbolo de palabra (letras, números y guiones bajos) |
W | cualquier símbolo que no sea una palabra |
() | atrapar todo cerrado |
(a | b) | coincide con a o b |
¿una? | El signo a no existe o existe una vez |
una * | El signo a no existe o aparece más de una vez |
un + | una o más apariciones del símbolo a |
y {3} | El signo a aparece 3 veces seguidas |
y {3,} | 3 o más ocurrencias consecutivas del símbolo a |
y {3.6} | El símbolo a aparece de 3 a 6 veces seguidas |
^ | cadena de inicio |
PS | final de cadena |
B | Límite de palabras Si el signo es el último o el primer carácter de la palabra o si el signo está entre una palabra o signos que no son palabras |
B | fronteras sin palabras |
Deja una respuesta