¿Qué son las expresiones regulares?
Las expresiones regulares, también conocidas como "regex" o "regexp", son una Secuencia de caracteres que define un patrón de búsqueda. Se utilizan para cotejar y extraer texto de un corpus de texto más amplio y suelen emplearse en la programación, la Minería de datos y se utiliza para manipular y extraer texto. Cuando se trabaja con texto, RegEx puede utilizarse para validar datos, buscar y reemplazar y analizar texto, entre otras cosas.
Selección de caracteres y clases de caracteres en RegEx
Símbolo | Explicación |
---|---|
[abc] | encuentra todos los caracteres del conjunto (a, b o c) |
[^abc] | encuentra todos los caracteres que no están contenidos en el conjunto (a, b o c) |
{n} | Coincide exactamente con n apariciones del carácter o grupo precedente |
{n,} | Coincide con n o más apariciones del carácter o grupo precedente |
{n,m} | Corresponde a un mínimo de n y un máximo de m apariciones del carácter o grupo precedente |
^ | corresponde al principio de una línea |
$ | Corresponde al final de una línea |
. | cabe en cada carácter, excepto en una nueva línea |
* | coincide con cero o más de los caracteres precedentes |
+ | Corresponde a uno o varios de los caracteres anteriores |
? | corresponde a cero o a uno de los caracteres anteriores |
\d | corresponde a cualquier dígito (corresponde a [0-9]) |
\D | Se adapta a cualquier |
\w | se ajusta a cualquier carácter de palabra (caracteres alfanuméricos y guiones bajos) |
\W | Corresponde a cualquier carácter que no sea una palabra |
\s | corresponde a cualquier carácter de espacio (incluidos tabuladores y espacios) |
\S | Coincide con cualquier carácter que no sea un espacio |
| | Corresponde al carácter o grupo precedente o siguiente |
() | Agrupa los caracteres incluidos y aplica el siguiente cuantificador a todo el grupo |
Ejemplos prácticos de expresiones regulares
Validación de direcciones de correo electrónico
Una expresión regular puede utilizarse para comprobar si una cadena dada es una dirección de correo electrónico válida comparándola con un patrón que define la estructura de una dirección de correo electrónico válida.
Ejemplo de sintaxis:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Análisis de URL
Se puede utilizar una expresión regular para extraer las distintas partes de una URL, por ejemplo, el protocolo, el nombre del host y la ruta.
Ejemplo de sintaxis:
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
Extraer números de teléfono de un texto
Se puede utilizar una expresión regular para identificar y extraer números de teléfono de un bloque de texto.
Ejemplo de sintaxis:
^(?:\+\d{1,3}|0\d{1,3}|00\d{1,2})?(?:\s?\d){9,12}$
Eliminar etiquetas HTML de una cadena
Se puede utilizar una expresión regular para eliminar todas las etiquetas HTML de una cadena y dejar sólo el contenido de texto sin formato.
Ejemplo de sintaxis:
\/?[^>]+
Búsqueda de palabras o patrones específicos en una cadena de caracteres
Una expresión regular puede utilizarse para buscar rápidamente una palabra o patrón específico en una cadena.
Ejemplo de sintaxis:
\b(Palabra1|Palabra2|Palabra3)\b
Sustituir texto
Una expresión regular se puede utilizar para sustituir todas las apariciones de una palabra o patrón concreto en una cadena por otra palabra o patrón.
Ejemplo de sintaxis:
(Palabra1|Palabra2|Palabra3)
Extracción de datos de archivos estructurados
Una expresión regular puede utilizarse para extraer datos específicos de archivos estructurados como CSV, JSON y registros.
Ejemplo de sintaxis:
(\w+)=(\d+)
Validación de números de tarjetas de crédito
Se puede utilizar una expresión regular para asegurarse de que una cadena dada es un número de tarjeta de crédito válido comparándola con un patrón que define la estructura de un número de tarjeta de crédito válido.
Ejemplo de sintaxis:
^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$
Tokenización de una frase
Las expresiones regulares pueden utilizarse para descomponer una frase en palabras y signos de puntuación.
Ejemplo de sintaxis:
\w+|[^\w\s]+
Extracción de datos de textos en lenguaje natural
Una expresión regular puede utilizarse para extraer de un texto natural información específica como nombres, fechas, precios, etc.
Ejemplo de sintaxis:
\b