Code - Tools - Science - Help - Social
XKCD Comic: http://xkcd.com/208/
\n
Entspricht einem Zeilenumbruch/Zeilenvorschub.\r
Entspricht einem Zeilenrücklauf.\t
Entspricht einem horizontalen Tabulator.\v
Entspricht einem vertikalen Tabulator.\f
Entspricht einem neuen Seiten-/Formularvorschub.\
Umgehung des folgenden Zeichens.
Passt auf jedes Zeichen außer Zeilenumbruch.\s
Passt auf alle Leerzeichen. [“ “, \t, \r, \n, \v und \f]\S
Passt auf alle Zeichen Nicht-Leerzeichen. [alle Zeichen außer „ “, \t, \r, \n, \v und \f]\d
Passt auf alle Ziffern. [0-9]\D
Passt auf alle Nicht-Ziffern. [alle Zeichen außer 0-9]\w
Stimmt mit allen Wortzeichen überein. [A-Z, a-z, 0-9 und _]\W
Trifft auf alle Nicht-Wort-Zeichen zu. [alle Zeichen außer A-Z, a-z, 0-9 und _]?
Entspricht 0 oder 1 Vorkommen des vorangehenden Elements. [colou?r
entspricht sowohl color
als auch colour
]*
Passt auf 0 oder mehr Vorkommen des vorangehenden Elements. [ab*c
entspricht sowohl ac
, abc
, abbc
usw.]*?
Entspricht keinem oder mehreren Vorkommen des vorangehenden Elements, aber non-greedy.+
Entspricht einem oder mehreren Vorkommen des vorangehenden Elements. (ab+c
passt sowohl auf abc
, abbc
usw., aber nicht auf ac
)+?
Entspricht einem oder mehreren Vorkommen des vorangehenden Elements, aber non-greedy.{n}
Trifft genau n
-mal auf das vorhergehende Element zu.{min,}
Entspricht dem vorangehenden Element mindestens bis zur Zahl von min
oder mehr.{,max}
Entspricht dem vorangehenden Element bis zur Zahl von max
.{min,max}
Entspricht dem vorangehenden Element mindestens min
-mal, aber höchstens max
-mal** Greedy Matching /Gieriger Abgleich
Die Wiederholungszeichen *
und +
führen dazu dass die größtmögliche Zeichenkette gesucht wird. Daher bezeichnet diese Zeichen als “gierig”/”greedy”.
Beispiel:
F.+,
matches “From here, to there,” in From here, to there, to everywhere
F.+?,
matches “From here,” in From here, to there, to everywhere
[abc]
Passt auf ein einzelnes Zeichen, das sich innerhalb der Klammern befindet. (in diesem Beispiel a
oder b
oder c
)[^abc]
Passt auf ein einzelnes Zeichen, das nicht in den Klammern enthalten ist. [in diesem Beispiel alles außer a
oder b
oder c
][A-Z]
Passt auf ein einzelnes Zeichen im Bereich von A bis Z. [A
oder B
oder … oder Z
][a-z]
Passt auf ein einzelnes Zeichen im Bereich von a bis z. [a
oder b
oder … oder z
][0-9]
Passt auf ein einzelnes Zeichen im Bereich von 0 bis 9. [0
oder 1
oder … oder 9
][A-Za-z0-9]
Passt auf ein einzelnes Zeichen im Bereich von A bis Z, a bis z oder 0 bis 9. [A
oder B
oder … oder a
oder b
oder … oder 0
oder 1
oder … oder 9
]^
Matched den Anfang einer Zeichenkette und auf jede neue Zeile.$
Matched auf das Ende einer Zeichenkette und auf jede neue Zeile.\b
Stimmt mit einer Wortgrenze überein. [\bcat\b
passt zu cat
als einzelnes Wort, aber nicht in concatination
]\B
Passt auf eine Nicht-Wort-Grenze. [\Bcat\B
passt auf „cat“ in concatination
, aber nicht als einzelnes Wort cat
]\G
Entspricht dem Startpunkt einer Suche und der Position, an der die vorherige erfolgreiche Suche endete. Nützlich für Iterationen.(a|b)
Entspricht a oder b. (Boolesches ODER).(…)
Gibt eine erfassende Gruppe/einen erfassenden Ausdruck an (ersetzen Sie „…“ durch einen regulären Ausdruck).(?:…)
Bezeichnet eine passive, nicht erfassende Gruppe/einen nicht erfassenden Ausdruck (ersetzen Sie „…“ durch einen regulären Ausdruck).$n | \n
Rückverweis auf die n-te erfassende Gruppe.$2 | \2
Rückverweis auf die 2. erfassende Gruppe. [„xyz“ in ^(abc)(xyz)$
]$1 | \1
Rückverweis auf die 1. Erfassungsgruppe. [„xyz“ in ^(?:abc)(xyz)$
]?=
Positive Lookahead [\d(?=abc)
findet eine Ziffer, die direkt von „abc“ gefolgt wird, z. B. 1
in „1abc2abc“]?!
Negative Lookahead [\d(?!abc)
findet eine Ziffer, die nicht direkt von „abc“ gefolgt wird, z. B. 2
in „1abc2def“]?<=
Positive Lookbehinds [(?<=abc)\d
findet eine Ziffer, der ein „abc“ direkt vorausgeht, z. B. 1 in „abc1abc2“]?<!
Negative Lookbehinds [(?<!abc)\d
findet eine Ziffer, die nicht direkt vor „abc“ steht, z. B. 2 in „abc1def2“][:upper:]
Entspricht allen Großbuchstaben (entspricht [A-Z]
).[:lower:]
Entspricht allen Kleinbuchstaben (entspricht [a-z]
).[:alpha:]
Entspricht allen Buchstaben (entspricht [A-Za-z]
).[:digit:]
Entspricht allen Ziffern (entspricht [0-9]
).[:alnum:]
Entspricht allen Buchstaben und Ziffern (entspricht [A-Za-z0-9]
).[:punct:]
Entspricht allen Interpunktionszeichen. [zum Beispiel !
, “
, #
, $
, %
, &
, *
, +
, -
, usw.][:blank:]
Passt auf Leerzeichen (
)und Tabulator (\t
).[:space:]
Passt auf alle nicht sichtbaren Zeichen. [\t
, \r
, \n
, \v
und \f
][:word:]
Passt auf alle Wortzeichen (entspricht \w
).Websites mit guten Übungen. RegEx Golf - https://alf.nu/RegexGolf RegEx Sketch Engine (Exercises) - https://regex.sketchengine.eu/basic-exercises.html RegEx Tutorials (Exercises) - http://regextutorials.com/excercise.html
Python-Pandas Ein Beispiel: Erstellen einer Reihe neuer Spalten aus einer gegebenen Spalte unter Verwendung regulärer Ausdrücke mit
`df['column'].str.extract('regular_expression')`
Python re Modul für die Arbeit mit regulären Ausdrücken in Python, das Ihnen einen variablen Satz von Funktionen für die Arbeit mit Text in Python bietet. Es verwendet die vorgestellte Syntax.
importieren re
Importiert das re-Modul.
re.search()
Prüft, ob eine Zeichenkette mit einem regulären Ausdruck übereinstimmt, ähnlich wie die Methode find()
für Zeichenketten. Sie gibt True oder False zurück.
re.findall()
Extrahiert Teile einer Zeichenkette, die mit einem regulären Ausdruck übereinstimmen. Gibt eine Liste von Strings oder Tupeln zurück.
RegEx Cheatsheet on Cheatography.com: https://cheatography.com/davechild/cheat-sheets/regular-expressions/
RegEx Golf https://alf.nu/RegexGolf
RegEx Sketch Engine https://regex.sketchengine.eu/index.html
RegEx Tutorials http://regextutorials.com/
regex101 https://regex101.com/