Utilizando Expresiones Regulares (regexp) en Ruby Pt1

Estándar

Las expresiones regulares (regexp) nos proveen de poderosas formas de encontrar y modificar patrones en cadenas de texto, no solo en pequeñas cadenas sino también en archivos de disco.

Una expresión regular toma la forma de un patrón el cual es comparado con una cadena. Las expresiones regulares también nos los medios por los cuales podemos modificar cadenas, por ejemplo: podríamos cambiar caracteres de minúsculas a mayúsculas, podríamos reemplazar cada ocurrencia de una palabra por otra, también podríamos leer un archivo de código y crear un archivo de documentación al extraer todos los comentarios y escribirlos en un archivo aparte.

En el siguiente ejemplo se muestra las tres formas de crear una expresión regular y como utilizarlas para la busqueda de patrones en una cadena de texto, en este caso mi nombre:


#formas de crear una expresion regular
re1 = Regexp.new('ton')
re2 = /ton/
re3 = %r{ton}

#se regresa la posicion donde se encuentra la expresion regular
puts re1 =~ "Luis Antonio"
puts re2 =~ "Luis Antonio"
puts re3 =~ "Luis Antonio"

system "pause"

Veamos otros ejemplos:


#usar un grupo de inspeccion para determinar si una cadena contiene alguna vocal
puts /[aeiou]/ =~ "esta es mi casa"
puts /[aeiou]/ =~ "1234567890"

#usar el cuantificador $ para determinar si la cadena termina con cierto patron
puts /casa$/ =~ "esta es mi casa"
#combinar un grupo de inspeccion y el cuantificador $ para determinar si la cadena termina con
#algun numero
puts /[0-9]$/ =~ "Viajare a Brasil en el 2018"

#usar el cuantificador ^ para determinar si la cadena comienza con 123
puts /^123/ =~ "1234567890"
#usar el cuantificador ^ para determinar si comienza por un numero
puts /^[0-9]/ =~ "2012. Predicciones Mayas"
#usar el cuantificador ^ para determinar si comienza por una letra (minuscula)
puts /^[a-z]/ =~ "Hola Mundo"
#usar el cuantificador ^ para determinar si comienza por una letra (mayusculas)
puts /^[A-Z]/ =~ "hola Mundo"

system "pause"

Les recomiendo ir introduciendo cada instrucción en la consola (IRB) para que puedan apreciar su funcionamiento.

Estos han sido ejemplos muy sencillos de como buscar patrones dentro de cadenas, realmente se pueden hacer cosas más interesantes, potentes y útiles usando las expresiones regulares las cuales veremos en los siguiente tutoriales utilizando Ruby.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s