Ruby:
Reguliere expressies gebruiken
Hoe te:
Laten we enkele basisprincipes van Ruby regex doornemen.
# Een overeenkomst vinden
zin = "Hallo, Wereld!"
puts zin.match(/Wereld/) # Uitvoer: Wereld
# Vervanging
puts zin.gsub(/Wereld/, "Ruby") # Uitvoer: Hallo, Ruby!
# Overeenkomsten extraheren
email = "[email protected]"
puts email.match(/\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/).to_s # Uitvoer: [email protected]
# Itereren over overeenkomsten
"Frodo, Gandalf, Arwen".scan(/\w+/) { |naam| puts naam }
# Uitvoer:
# Frodo
# Gandalf
# Arwen
Diepere duik
Reguliere expressies in Ruby zijn beïnvloed door Perl’s sterke regex-mogelijkheden. Alternatieven voor regex zijn stringmethoden zoals #include?
, #start_with?
en #end_with?
, maar geen biedt dezelfde kracht en flexibiliteit. Ruby implementeert regex met behulp van zijn eigen bibliotheek die is afgeleid van Perl’s regex-engine, wat functies biedt zoals vooruit en achteruit kijken, niet-gretige overeenkomsten en snelkoppelingen voor tekenklassen.
Zie ook
- Ruby Reguliere Expressies: Officiële Ruby-documentatie voor regex.
- Rubular: Een op Ruby gebaseerde reguliere expressie-editor, goed voor het testen van patronen.