Regulaere Ausdruecke sind ein maectiges Werkzeug – wenn man weiss wie. Ein praktisches Cheat Sheet zum Bookmarken.
Grundzeichen¶
. \d \D \w \W \s \S \b
Quantifizierer¶
* + ? {3} {2,5} {3,} *?
Gruppen¶
(abc) (?:abc) a|b \1
Lookahead/behind¶
(?=x) (?!x) (?<=x) (?<!x)
Beispiele¶
Email: [a-zA-Z0-9._% +-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}
IP: \b(?:\d{1,3}.){3}\d{1,3}\b
Datum: \d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])
Tel CZ: (?:+420)?\s?\d{3}\s?\d{3}\s?\d{3}
In der Praxis¶
grep -oP ‘\b\d{1,3}(.\d{1,3}){3}\b’ access.log
import re; emails = re.findall(r’[\w.+-]+@[\w-]+.[\w.]+’, text)
Tipp¶
Testen Sie auf regex101.com. Und wenn ein Regex mehr als 2 Zeilen umfasst, erwaegen Sie einen Parser.