Table of Contents

Regular Expressions

Ausprobieren in der Konsole

Wichtig: Das Module re (Regular Expressions) muss einmal importiert werden.

import re
 
re.findall(".ie.", "Viele Beispiele eieiei!")
# Liefert ["Viel", "piel", "eiei"]
 
re.findall("(\d{1,2})-(\d{1,2})-(\d{4})", "Am 9-11-2013 war Samstag und am 10-11-2013 Sonntag.")
# Liefert [("9", "11", "2013"), ("10", "11", "2013")]

Cheat Sheet

Sonderzeichen

Zeichen Bedeutung Match't match't nicht
. Genau ein beliebiges Zeichen (ausser \n)
[aeiou] Genau ein Zeichen in der Klammer e f
[a-f] Genau ein Zeichen im Bereich b s
[3-9] Genau ein Zeichen das nicht aufgeführt ist. Z 3
Anfang der Zeichenkette
$ Ende der Zeichenkette
| Oder (der Ausdruck davor oder danach)
() Gruppe

Zeichenklassen

Zeichen Bedeutung Match't match't nicht
\d Eine Ziffer, wie [0-9] 5 B
\w Ein Zeichen, das in einem Wort vorkommen kann. r ;
\b Anfang oder Ende eines Worts
\s Ein Leerschlag oder Tabulator
\n Ein Zeilenumbruch
\\ Ein Backslash \ /
\. Ein Punkt . x
\( Eine Klammer ( )

Wird eine Zeichenklasse gross geschrieben, invertiert sich die Auswahl. Z.B. ist \D irgendein Zeichen ausser einer Ziffer, also wie [^0-9].

Quantifiers

Zeichen Bedeutung
* 0 bis beliebig viele des Ausdrucks davor (maximal)
*? 0 bis beliebig viele des Ausdrucks davor (minimal)
+ 1 bis beliebig viele des Ausdrucks davor (maximal)
+? 1 bis beliebig viele des Ausdrucks davor (minimal)
? 0 oder 1 des Ausdrucks davor (maximal)
{5} Genau 5 mal den Ausdruck davor
{2,5} Zwischen 2 und 5 mal den Ausdruck davor (maximal)
{2,5}? Zwischen 2 und 5 mal den Ausdruck davor (minimal)