Expresiones regulares [Regex] GUÍA

Entendemos una expresión regular (más conocidas como regex) una secuencia de caracteres que forman un patrón de búsqueda. Se utilizan principalmente para buscar y reemplazar patrones en cadenas de texto o para verificar si una cadena cumple con un determinado patrón. Por ejemplo, podrías usar una expresión regular para verificar si una dirección de correo electrónico es válida, para encontrar todas las palabras que comiencen con la letra "a" en un documento o para reemplazar todas las fechas en un formato específico con otro formato. Las expresiones regulares son muy útiles y se utilizan en muchos lenguajes de programación y herramientas de procesamiento de texto. Las expresiones regulares son como comodines con esteroides. Probablemente esté familiarizado con notaciones comodín como *.txt para encontrar todos los archivos de texto en un gestor de archivos.

 

Ejemplos de Regex o expresiones regulares

Las expresiones regulares se basan en un conjunto de reglas que se utilizan para definir el patrón de búsqueda. Estas reglas se escriben usando un lenguaje especial que incluye una serie de caracteres especiales y símbolos. Algunos de los caracteres más comunes que se utilizan en las expresiones regulares son:

  • El punto (.) que coincide con cualquier carácter.
  • El asterisco (*) que coincide con cero o más ocurrencias del carácter anterior.
  • El signo más (+) que coincide con una o más ocurrencias del carácter anterior.
  • El signo de interrogación (?) que coincide con cero o una ocurrencia del carácter anterior.
  • Los corchetes ([ ]) que coinciden con cualquier carácter que esté dentro de ellos.
  • Los paréntesis ( ) que se utilizan para agrupar partes de la expresión regular.

Algunos ejemplos de expresiones regulares comunes son:

  • \d que coincide con cualquier dígito.
  • \w que coincide con cualquier letra o dígito.
  • \s que coincide con cualquier espacio en blanco.
  • ^ que indica el inicio de una línea.
  • $ que indica el final de una línea.

Aplicaciones y lenguajes que soportan expresiones regulares

Hay muchas aplicaciones de software y lenguajes de programación que soportan expresiones regulares. Si usted es un programador, puede ahorrarse mucho tiempo y esfuerzo. A menudo puede lograr con una sola expresión regular en una o unas pocas líneas de código lo que de otro modo llevaría docenas o cientos.

Muchas aplicaciones y lenguajes de programación tienen su propia implementación de expresiones regulares, a menudo con ligeras y a veces con importantes diferencias respecto a otras implementaciones. Cuando dos aplicaciones utilizan una implementación diferente de expresiones regulares, decimos que utilizan diferentes "sabores de expresiones regulares".

Para entender mejor cómo funcionan las expresiones regulares, veamos algunos ejemplos de uso común:

  • Verificar si una dirección de correo electrónico es válida: Podemos utilizar una expresión regular para verificar si una dirección de correo electrónico tiene el formato correcto y, por lo tanto, es válida. Por ejemplo, la expresión regular ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ puede usarse para verificar si una dirección de correo electrónico cumple con el formato "nombre@dominio.com".
  • Encontrar todas las palabras que comiencen con la letra "a" en un documento: Podemos utilizar una expresión regular para buscar todas las palabras que comiencen con la letra "a" en un documento de texto. Por ejemplo, la expresión regular \b[aA]\w+ puede usarse para encontrar todas las palabras que comiencen con la letra "a" o "A".
  • Reemplazar todas las fechas en un formato específico por otro formato: Podemos utilizar una expresión regular para buscar todas las fechas en un formato específico (por ejemplo, "dd/mm/yyyy") y reemplazarlas por otro formato (por ejemplo, "mm/dd/yyyy").

Como puedes ver, las expresiones regulares son una herramienta muy útil para trabajar con cadenas de texto y se utilizan en muchos lenguajes de programación y herramientas de procesamiento de texto. Si quieres aprender más sobre cómo usar expresiones regulares en tu trabajo, te recomendamos que busques tutoriales y recursos en línea que te ayuden a profundizar en este tema.

 

Algunos de los caracteres especiales y símbolos más comunes que se utilizan en las expresiones regulares son:

  • El punto (.) que coincide con cualquier carácter. Por ejemplo, la expresión regular "a.c" coincide con "abc", "aac", "a1c", etc.
  • El asterisco () que coincide con cero o más ocurrencias del carácter anterior. Por ejemplo, la expresión regular "ab" coincide con "b", "ab", "aab", "aaab", etc.
  • El signo más (+) que coincide con una o más ocurrencias del carácter anterior. Por ejemplo, la expresión regular "a+b" coincide con "ab", "aab", "aaab", etc. pero no coincide con "b".
  • El signo de interrogación (?) que coincide con cero o una ocurrencia del carácter anterior. Por ejemplo, la expresión regular "a?b" coincide con "b" y "ab" pero no coincide con "aab" ni "aaab".
  • Los corchetes ([ ]) que coinciden con cualquier carácter que esté dentro de ellos. Por ejemplo, la expresión regular "[abc]" coincide con "a", "b" o "c".
  • Los paréntesis ( ) que se utilizan para agrupar partes de la expresión regular. Por ejemplo, la expresión regular "a(bc)?d" coincide con "ad" y "abcd".

Además de estos caracteres especiales, también existen una serie de "secuencias de escape" que se utilizan para coincidir con ciertos caracteres especiales. Algunas de las secuencias de escape más comunes son:

  • \d que coincide con cualquier dígito. Por ejemplo, la expresión regular "\d" coincide con "1", "2", "3", etc.
  • \w que coincide con cualquier letra o dígito. Por ejemplo, la expresión regular "\w" coincide con "a", "b", "c", "1", "2", "3", etc.
  • \s que coincide con cualquier espacio en blanco. Por ejemplo, la expresión regular "\s" coincide con espacios en blanco, tabuladores y saltos de línea.
  • ^ que indica el inicio de una línea. Por ejemplo, la expresión regular "^a" coincide con "a" al principio de una línea.
  • $ que indica el final de una línea. Por ejemplo, la expresión regular "a$" coincide con "a" al final de una línea.
  • Verificar si una cadena es un número: Podemos utilizar una expresión regular para verificar si una cadena de texto es un número. Por ejemplo, la expresión regular "^\d+$" coincide con cualquier cadena que contenga solo dígitos.
  • Verificar si una cadena cumple con un formato de fecha: Podemos utilizar una expresión regular para verificar si una cadena de texto cumple con un formato de fecha específico. Por ejemplo, la expresión regular "^\d{1,2}/\d{1,2}/\d{4}$" coincide con cualquier fecha en el formato "dd/mm/yyyy".
  • Verificar si una cadena cumple con un formato de hora: Similarmente, podemos utilizar una expresión regular para verificar si una cadena de texto cumple con un formato de hora específico. Por ejemplo, la expresión regular "^\d{1,2}:\d{2}(:\d{2})?$" coincide con cualquier hora en el formato "hh:mm" o "hh:mm:ss".
  • Encontrar todas las URL en un documento: Podemos utilizar una expresión regular para encontrar todas las URL en un documento de texto. Por ejemplo, la expresión regular "https?://\S+" coincide con cualquier URL que comience con "http" o "https".

¿Cómo aprender expresiones regulares?

Aunque las expresiones regulares son muy útiles para trabajar con cadenas de texto, es importante tener en cuenta que pueden ser bastante complejas y requieren cierto conocimiento para poder utilizarlas de manera efectiva. Si no estás familiarizado con el lenguaje de las expresiones regulares, es posible que tengas dificultades para entender cómo funcionan y cómo se usan.

Para ayudarte a aprender a usar expresiones regulares, te recomendamos que busques tutoriales y recursos en línea que te enseñen cómo funcionan y cómo se usan. Existen muchos tutoriales y guías en línea que pueden ayudarte a entender mejor cómo se construyen las expresiones regulares y cómo se pueden utilizar para resolver diferentes problemas.

Además, es importante practicar usando expresiones regulares para que puedas ir familiarizándote con el lenguaje y aprendiendo a usarlas de manera efectiva. Puedes utilizar herramientas en línea que te permitan probar tus expresiones regulares y ver cómo funcionan en diferentes casos. Esto te ayudará a comprender mejor cómo funcionan y a mejorar tus habilidades para usarlas.

Espero que esta información te sea útil y te ayude a aprender a usar expresiones regulares de manera efectiva.

¿Para qué puede servirme aprender expresiones regulares?

Prepárate para escuchar la cantidad de cosas que podemos hacer cone xpresiones regulares (y son sólo algunos ejemplos):

  • Realizar búsquedas en texto: puedes buscar patrones específicos dentro de una cadena de texto usando una expresión regular.
  • Reemplazar texto: puedes utilizar una expresión regular para buscar y reemplazar patrones en una cadena de texto.
  • Validar entradas de usuario: puedes utilizar una expresión regular para asegurarte de que una cadena de texto cumple con ciertos requisitos (por ejemplo, una dirección de correo electrónico válida o un número de teléfono en un formato específico).
  • Extraer información: puedes usar una expresión regular para extraer información específica de una cadena de texto.
  • Verificar si una contraseña cumple con ciertos requisitos de seguridad, como tener al menos 8 caracteres y contener al menos una letra mayúscula, una minúscula y un dígito.
  • Extraer información de una página web, como nombres de productos o precios.
  • Verificar si una cadena de texto es una dirección IP válida.
  • Verificar si una cadena de texto es un número en un formato determinado (por ejemplo, un número decimal con dos dígitos decimales).
  • Reemplazar todos los enlaces de una página web con etiquetas <a> para hacerlos clicables.
  • Verificar si una fecha está en un formato válido (por ejemplo, DD/MM/YYYY).
  • Verificar si una cadena de texto es una dirección de correo electrónico válida.
  • Extraer información de un documento de texto, como números de teléfono o direcciones.
  • Verificar si una cadena de texto es una dirección de una página web válida.
  • Reemplazar todas las apariciones de una palabra con otra en un documento de texto.
  • Verificar si un número de tarjeta de crédito es válido (por ejemplo, si tiene el número correcto de dígitos y cumple con el algoritmo de verificación de tarjetas de crédito).
  • Verificar si una cadena de texto es una dirección postal válida.
  • Extraer información de una tabla de datos, como nombres de columna o valores de celda.
  • Verificar si una cadena de texto es un número binario válido.
  • Reemplazar todas las apariciones de una secuencia de caracteres con otra en un archivo de texto.
  • Verificar si un número de identificación fiscal (NIF) español es válido.
  • Verificar si una cadena de texto es una dirección de una red social válida.
  • Extraer información de un documento en formato PDF, como números de página o títulos de sección.
  • Verificar si una cadena de texto es una dirección MAC válida.
  • Reemplazar todas las apariciones de una secuencia de caracteres con otra en un archivo de código fuente.
  • Verificar si una cadena de texto es un código postal válido.
  • Verificar si una cadena de texto es una dirección de una página web válida.
  • Extraer información de un archivo de datos, como fechas o valores numéricos.
  • Verificar si una cadena de texto es una dirección IPv6 válida.
  • Reemplazar todas las apariciones de una palabra con otra en un archivo de texto.
  • Verificar si una cadena de texto es una dirección de correo electrónico válida.
  • Verificar si una cadena de texto es una dirección de una página web válida.
  • Extraer información de un archivo de audio, como el nombre del artista o el título de la canción.
  • Verificar si una cadena de texto es una dirección IPv4 válida.
  • Reemplazar todas las apariciones de una palabra con otra en un archivo de texto.

Echa un ojo a nuestra guía básica de regex o nuestro tutorial completo de regex.