AD

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

Ver cursos de Ruby en Udemy

Enlace de afiliado. No te cuesta nada extra.

💎Lecciones de Ruby
Lección 32 / 68

Introducción a las expresiones regulares

En esta lección buscarás un patrón dentro de un texto en lugar de un texto exacto.

Una expresión regular se escribe entre barras: /\d{3}-\d{3}-\d{3}/. \d es un dígito y {3} significa «tres veces». match devuelve el resultado (o nil si no hay), y =~ devuelve la posición del hallazgo.

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

Un aviso sobre los anclajes, porque es una fuente real de agujeros de seguridad: en Ruby ^ y $ marcan principio y fin de línea, no de la cadena entera. Un texto como "123\nabc" pasa una validación con /^\d+$/ porque su primera línea sí son dígitos. Para validar la cadena completa hay que usar \A y \z. Ruby es de los pocos lenguajes donde esto funciona así por defecto, y precisamente por eso pilla desprevenido a quien viene de otro sitio.

El número del ejemplo usa el formato español de nueve cifras en tres grupos. Si cambias el número, acuérdate de cambiar también el patrón: si dejan de coincidir, match devuelve nil y la línea siguiente falla con NoMethodError.

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

🧪 Este sitio no puede compilar ni ejecutar Ruby 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)