Ruby:
Usando expresiones regulares
Cómo hacerlo:
Coincidencia Básica
Para hacer coincidir una cadena con un patrón simple, puedes usar el método match. A continuación, estamos verificando si la palabra “Ruby” existe en una cadena dada.
if /Ruby/.match("¡Hola, Ruby!")
puts "¡Coincidencia encontrada!"
end
# Salida: ¡Coincidencia encontrada!Coincidencia de Patrones con Variables
Puedes interpolar variables en tu regex utilizando la sintaxis #{}, haciendo que tus patrones sean dinámicos.
language = "Ruby"
if /#{language}/.match("Programar en Ruby es divertido.")
puts "¡Hablando sobre Ruby!"
end
# Salida: ¡Hablando sobre Ruby!Usando Regex para Sustitución
El método gsub te permite reemplazar cada ocurrencia de un patrón con una cadena de reemplazo especificada.
puts "foobarfoo".gsub(/foo/, "bar")
# Salida: barbarbarCapturando
Los paréntesis en un regex se utilizan para capturar partes de una coincidencia. El método match devuelve un objeto MatchData, que puedes utilizar para acceder a las capturas.
match_data = /(\w+): (\d+)/.match("Edad: 30")
puts match_data[1] # Etiqueta capturada
puts match_data[2] # Valor capturado
# Salida:
# Edad
# 30Usando Bibliotecas de Terceros
Aunque la biblioteca estándar de Ruby es poderosa, a veces podrías necesitar funcionalidades más especializadas. Una gema popular para trabajar con regex es Oniguruma, que proporciona características de regex adicionales más allá del motor de regex integrado de Ruby.
Instálalo usando:
gem install onigurumaUn ejemplo de uso podría verse así (asumiendo que has requerido oniguruma después de instalarlo):
# Este es un ejemplo más avanzado y podría requerir configuración adicional
require 'oniguruma'
pattern = Oniguruma::ORegexp.new('(\d+)')
match_data = pattern.match("El número es 42.")
puts match_data[1]
# Salida: 42Recuerda, aunque son poderosas, las expresiones regulares pueden volverse complejas y difíciles de manejar para patrones más complicados. Apunta a la legibilidad y considera métodos alternativos si tu regex se vuelve demasiado enredado.