Reguläre Ausdrücke verwenden

Ruby:
Reguläre Ausdrücke verwenden

Wie geht das:

Einfaches Matching

Um einen String gegen ein einfaches Muster abzugleichen, können Sie die match Methode verwenden. Unten prüfen wir, ob das Wort “Ruby” in einem gegebenen String existiert.

if /Ruby/.match("Hallo, Ruby!")
  puts "Übereinstimmung gefunden!"
end
# Ausgabe: Übereinstimmung gefunden!

Musterabgleich mit Variablen

Sie können Variablen in Ihren Regex interpolieren, indem Sie die #{} Syntax verwenden, was Ihre Muster dynamisch macht.

language = "Ruby"
if /#{language}/.match("Programmieren in Ruby macht Spaß.")
  puts "Sprechen über Ruby!"
end
# Ausgabe: Sprechen über Ruby!

Verwendung von Regex zur Substitution

Die gsub Methode erlaubt es Ihnen, jedes Vorkommen eines Musters mit einem bestimmten Ersatzstring zu ersetzen.

puts "foobarfoo".gsub(/foo/, "bar")
# Ausgabe: barbarbar

Erfassung

Klammern in einem Regex werden verwendet, um Teile einer Übereinstimmung zu erfassen. Die match Methode gibt ein MatchData Objekt zurück, das Sie nutzen können, um Zugriff auf Erfassungen zu bekommen.

match_data = /(\w+): (\d+)/.match("Alter: 30")
puts match_data[1] # Erfasstes Label
puts match_data[2] # Erfasster Wert
# Ausgabe:
# Alter
# 30

Verwendung von Drittanbieter-Bibliotheken

Obwohl die Standardbibliothek von Ruby leistungsfähig ist, benötigen Sie manchmal spezialisiertere Funktionalitäten. Ein beliebtes Gem für die Arbeit mit Regex ist Oniguruma, das zusätzliche Regex-Funktionen über die eingebaute Ruby Regex-Engine hinaus bietet.

Installieren Sie es mit:

gem install oniguruma

Eine Beispielverwendung könnte so aussehen (angenommen, Sie haben oniguruma nach der Installation eingebunden):

# Dies ist ein fortgeschritteneres Beispiel und könnte zusätzliche Einrichtung erfordern
require 'oniguruma'

pattern = Oniguruma::ORegexp.new('(\d+)')
match_data = pattern.match("Die Zahl ist 42.")
puts match_data[1]
# Ausgabe: 42

Denken Sie daran, dass reguläre Ausdrücke, obwohl mächtig, komplex und schwer zu verwalten werden können für kompliziertere Muster. Streben Sie nach Lesbarkeit und erwägen Sie alternative Methoden, falls Ihr Regex zu kompliziert wird.