Ruby Regexp Übersicht
^ Zeilenanfang
$ Zeilenende
\A Anfang eines Strings
\z Ende eines Strings
\Z Ende eines Strings mit Ausnahme das der String
mit \n endet, dann erfasst die Stelle davor
\b Wortgrenze
\B !Wortgrenze
[char] Zeichenklasse
[^char] Nicht diese Zeichen
\d Ziffer
\D Alles außer Ziffe
\s Whitespace
\S Alles außer Whitespace
\w Wortzeichen
\W Alles außer Wortzeichen
. jedes Zeichen außer Newline (bei /m auch newline)
* 0-n mal vorheriger Ausdruck
+ 1-n mal vorheriger Ausdruck
{m,n} m-n mal vorheriger Ausdruck
? 0-1 mal vorheriger Ausdruck
*?,+? nicht gierige Varianten
{m,n}? nicht gierige Variante
A|B A oder B
() Zusammenfassen von Ausdrücken, auch für Submuster
#{} Variablen-Substitution wie bei String-Literalen
\0..\9 Ersetzungen mit Subexpression
\& Ersetzung gesamter Ausdruck
\` Ersetzung mit dem was vor Match auftritt (Pre-Match)
\' Post-Match
\+ Ersetzung mit letzter Gruppe
Globale Variablen
$& gefundenes Suchmuster der letzten Aktion.
nil, wenn nicht gefunden.
$` String, der dem Gefundenen vorausgeht.
$' String, der dem Gefundenen folgt
$+ Übereinstimmung der letzten Klammer(?)
$1,
$2,... Teilstrings, die durch Klammern im Suchmuster
getrennt sind.
$~ Information der letzten Musteraktion. $1 - $9 werden
hieraus abgeleitet und eine Änderung von bspw. $~[3]
ändert $3. Die Variable ist lokal zum aktuellen
Gültigkeitsbereich
$= Groß/Kleinschreibung berücksichtigen. Ein Wert ungleich
nil führt dazu, das sie nicht berücksichtigt wird.
Default ist nil.
Optionen
- /regexp/i - Groß/Kleinschreibung ignorieren
- /regexp/m - Mehrzeilenmodus. Newline wird als normales Zeichen gewertet.
- /regexp/o - Ersetze #{...} Ausdrücke nur einmal (kompiliert die Regexp bei erster Benutzung und verändert diese dann nicht mehr. Ist schneller.)
- /regexp/x - Erweiterter Modus, um Regexp-Ausdrück lesbarer zu machen.
Weblinks