Ruby:
Att använda reguljära uttryck
Hur man gör:
Grundläggande Matchning
För att matcha en sträng mot ett enkelt mönster kan du använda metoden match. Nedan kontrollerar vi om ordet “Ruby” finns i en given sträng.
if /Ruby/.match("Hej, Ruby!")
puts "Matchning hittad!"
end
# Utmatning: Matchning hittad!Mönstermatchning med Variabler
Du kan interpolera variabler i ditt regex med #{}-syntaxen, vilket gör dina mönster dynamiska.
språk = "Ruby"
if /#{språk}/.match("Att programmera i Ruby är roligt.")
puts "Pratar om Ruby!"
end
# Utmatning: Pratar om Ruby!Använda Regex för Substitution
Metoden gsub låter dig ersätta varje förekomst av ett mönster med en specificerad ersättningssträng.
puts "foobarfoo".gsub(/foo/, "bar")
# Utmatning: barbarbarFånga
Parenteser i ett regex används för att fånga delar av en matchning. Metoden match returnerar ett MatchData-objekt, som du kan använda för att komma åt fångster.
match_data = /(\w+): (\d+)/.match("Ålder: 30")
puts match_data[1] # Fångad etikett
puts match_data[2] # Fångat värde
# Utmatning:
# Ålder
# 30Använda Tredjepartsbibliotek
Även om Rubys standardbibliotek är kraftfullt kan du ibland behöva mer specialiserad funktionalitet. Ett populärt gem för att arbeta med regex är Oniguruma, som erbjuder ytterligare regexfunktioner utöver Rubys inbyggda regexmotor.
Installera det med:
gem install onigurumaEtt exempel på användning kan se ut så här (förutsatt att du har krävt oniguruma efter att ha installerat det):
# Detta är ett mer avancerat exempel och kan kräva ytterligare inställningar
require 'oniguruma'
mönster = Oniguruma::ORegexp.new('(\d+)')
match_data = mönster.match("Numret är 42.")
puts match_data[1]
# Utmatning: 42Kom ihåg, även om kraftfulla kan reguljära uttryck bli komplexa och svårhanterliga för mer komplicerade mönster. Sträva efter läsbarhet och överväg alternativa metoder om ditt regex blir för invecklat.