efinf:blc2016:regex

This is an old revision of the document!


Das Schweizer Sackmesser der String-Analyse und Verarbeitung.

Testen

str = "ananas and bananas"
if str =~ /a.a/
  puts "match't"
else
  puts "kein Match"
end

Extrahieren

scan liefert ein Array, das für jeden Match den enstprechenden String enthält (wenn keine Gruppen in der RegEx sind), oder für jeden Match ein Array mit allen Gruppenmatches.

str = "pineapple and bananas"
p str.scan(/a./)
p str.scan(/a(.)/)

Modifizieren

gsub ersetzt jeden Match mit dem angegeben String. Gruppenmatches können mit “\\1” etc. verwendet werden.

gsub ohne ! modifiziert den String nicht und liefert einen neuen String. gsub! (mit !) modifizert den String und liefert diesen als Resultat, ausser wenn kein Match vorliegt wird nil zurückgeliefert.

str = "pineapple and bananas"
p str.gsub(/a./, "vx")
p str.gsub(/a(.)/,"a->\\1<-")
  • CSV-Daten einlesen
  • Log-File Analyse
  • pdf-Tabelle konvertieren
  • efinf/blc2016/regex.1479132896.txt.gz
  • Last modified: 2016/11/14 15:14
  • by Ivo Blöchliger