COMPARTE ESTE ARTÍCULO

Las expresiones regulares (regex) son herramientas poderosas para encontrar y manipular patrones en cadenas de texto. En C++, podemos utilizar la biblioteca <regex> para trabajar con expresiones regulares. A continuación, se presentan algunos ejemplos de uso y una explicación detallada de cada expresión utilizada.

1. Cadenas de Longitud Impar

Expresión Regular: (a|b)(a|b)*(a|b)

Esta expresión se utiliza para encontrar cadenas compuestas por los caracteres ‘a’ y ‘b’ cuya longitud sea impar. Vamos a desglosar la expresión:

  • (a|b) : Coincide con un solo carácter, ya sea ‘a’ o ‘b’.
  • (a|b)* : Coincide con cero o más caracteres ‘a’ o ‘b’.
  • (a|b) : Coincide con un solo carácter ‘a’ o ‘b’ al final, asegurando que la longitud total de la cadena sea impar.

Ejemplo

  • Coincide: “a”, “aba”, “ababa”
  • No coincide: “ab”, “abab”

2. Cadenas de Longitud 5

Expresión Regular: (a|b){5}

Esta expresión encuentra cadenas de longitud exacta de 5 caracteres, que están compuestas por los caracteres ‘a’ y ‘b’.

  • (a|b) : Coincide con ‘a’ o ‘b’.
  • {5} : Especifica que el patrón anterior debe repetirse exactamente cinco veces.

Ejemplo

  • Coincide: “aaaaa”, “ababa”
  • No coincide: “abcde”, “aabb”

3. ‘a’ en la Antepenúltima Posición

Expresión Regular: [abc]*a[abc]{2}$

Esta expresión se utiliza para encontrar cadenas que tengan la letra ‘a’ en la antepenúltima posición, y están compuestas por los caracteres ‘a’, ‘b’ o ‘c’.

  • [abc]* : Coincide con cero o más caracteres ‘a’, ‘b’ o ‘c’.
  • a : Coincide con la letra ‘a’.
  • [abc]{2} : Coincide con exactamente dos caracteres ‘a’, ‘b’ o ‘c’ después de la ‘a’.
  • $ : Indica el final de la cadena.

Ejemplo

  • Coincide: “cabc”, “bbaac”
  • No coincide: “abcba”, “aabcc”

4. Número Par de ‘a’ o Número Impar de ‘b’

Expresiones Regulares: ^(b*ab*a)*b*$ y ^((a|bb)*b)?$

  • ^(b*ab*a)*b*$ : Coincide con cadenas que tienen un número par de ‘a’.
  • b* : Cero o más caracteres ‘b’.
  • a : Un carácter ‘a’.
  • * : Todo el patrón se puede repetir cualquier cantidad de veces.
  • ^((a|bb)*b)?$ : Coincide con cadenas que tienen un número impar de ‘b’.
  • (a|bb)* : Cero o más apariciones de ‘a’ o ‘bb’.
  • b : Un carácter ‘b’ al final asegura la imparidad.

Ejemplo

  • Coincide: “b”, “bbb”, “bba”
  • No coincide: “aa”, “aabbb”

5. Cadenas de Longitud Entre 2 y 5

Expresión Regular: [01]{2,5}

Esta expresión coincide con cadenas de longitud entre 2 y 5 caracteres, compuestas por ‘0’ y ‘1’.

  • [01] : Coincide con ‘0’ o ‘1’.
  • {2,5} : Especifica que el patrón debe repetirse entre 2 y 5 veces.

Ejemplo

  • Coincide: “01”, “11111”
  • No coincide: “1”, “011010”

6. Cadenas de Longitud Múltiplo de 3

Expresión Regular: ([01]{3})*

Esta expresión coincide con cadenas cuya longitud es un múltiplo de 3, compuestas por ‘0’ y ‘1’.

  • [01]{3} : Coincide con cualquier combinación de tres caracteres ‘0’ o ‘1’.
  • * : Repite este grupo cero o más veces.

Ejemplo

  • Coincide: “000”, “111000”, “010101”
  • No coincide: “01”

7. Validación de Código Postal

Expresión Regular: [0-9]{5}

Esta expresión se utiliza para validar un código postal español de 5 dígitos.

  • [0-9] : Coincide con cualquier dígito del 0 al 9.
  • {5} : Especifica que debe haber exactamente cinco dígitos.

Ejemplo

  • Coincide: “12345”
  • No coincide: “12”, “abcdef”

8. Validación de Teléfono con Formato XXX-XXX-XXX

Expresión Regular: [0-9]{3}-[0-9]{3}-[0-9]{3}

Esta expresión valida un número de teléfono con el formato XXX-XXX-XXX.

  • [0-9]{3} : Coincide con tres dígitos.
  • - : Coincide con el carácter guion.

Ejemplo

  • Coincide: “123-456-789”
  • No coincide: “123456789”

9. Fecha en Formato DD/MM/AAAA

Expresión Regular: [0-3]?[0-9]/[01]?[0-9]/[0-9]{4}

Esta expresión valida una fecha en formato DD/MM/AAAA.

  • [0-3]?[0-9] : Coincide con días del 01 al 31.
  • / : Coincide con el separador ‘/’.
  • [01]?[0-9] : Coincide con meses del 01 al 12.
  • [0-9]{4} : Coincide con un año de cuatro dígitos.

Ejemplo

  • Coincide: “01/01/2020”, “31/12/1999”
  • No coincide: “32/01/2020”

10. Cadenas que Terminan en “ed” o “ing”

Expresión Regular: .*(ed|ing)$

Esta expresión encuentra cadenas que terminan en “ed” o “ing”.

  • .* : Coincide con cualquier cantidad de caracteres.
  • (ed|ing) : Coincide con “ed” o “ing”.
  • $ : Indica el final de la cadena.

Ejemplo

  • Coincide: “finished”, “running”
  • No coincide: “play”

Las expresiones regulares son una herramienta muy versátil para trabajar con patrones de texto y pueden usarse en una variedad de contextos, desde validación de entradas hasta procesamiento de datos complejos. Usar la biblioteca <regex> en C++ nos proporciona una forma estándar de implementar estas validaciones de forma eficiente.

Contenido restringido

Acceso de usuarios existentes
   
Registro de un nuevo usuario
*Campo necesario

Categories:

Tags:

Comments are closed

Estado de acceso
ESTADO DE ACCESO
TRADUCTORES
COMPARTENOS
error: CONTENIDO PROTEGIDO