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.
¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.
¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos.

NUESTRAS ÚLTIMAS PUBLICACIONES
- Propuestas de actividades avanzadas con XML, DTD, XPath y XSLT
- Apuntes extensos de XML y XSLT
- El momento IDEAL para impulsar tu FORMACIÓN y alcanzar tus Metas Académicas: LAS NAVIDADES.

- 20 ejercicios de funciones avanzadas en Python (al estilo de Ackermann)
- Cómo guardar una página web completa en MySQL con PHP (urlencode, BLOB y otras técnicas)
- 60 ejercicios de funciones recursivas en Python para la carrera de Informática
- SIMULACRO 2 – FP Programación de Videojuegos
- Simulacro de examen – FP Programación de Videojuegos
- ALERTA METEOROLÓGICA

ELIGE TU RED FAVORITA Y SÍGUENOS.
AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.
Contenido restringido





































































































































































































































































INFORMACIÓN SOBRE 







Comments are closed