AD

¿Ya dominas lo básico? Un curso estructurado de C es la vía rápida para dar el salto.

Ver cursos de C en Udemy

Enlace de afiliado. No te cuesta nada extra.

🔧Lecciones de C
Lección 32 / 68

Introducción a las expresiones regulares (regex.h)

En esta lección buscarás patrones dentro de un texto.

regex.h, que forma parte de POSIX, trabaja en tres pasos: regcomp() compila el patrón, regexec() lo aplica y regfree() libera lo reservado. REG_EXTENDED activa la sintaxis moderna.

El código de ejemplo extrae un número de teléfono de un texto y comprueba si otra cadena está formada solo por dígitos.

Lo primero que llama la atención es cuánto código hace falta comparado con Python o Perl. Es lo normal en C: la gestión de recursos es explícita, y olvidar regfree() es una fuga de memoria. Además, regcomp puede fallar y hay que comprobar su valor devuelto.

Un aviso importante: regex.h es POSIX, así que no está en Windows con el compilador de Microsoft. Para código que deba funcionar en todas partes se usa PCRE2 como biblioteca externa. Y compilar el patrón dentro de un bucle es un error de rendimiento clásico: se compila una vez y se reutiliza.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar C directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)