Regex-Trainer
Lektionen › Lektion 9

9. Lookahead & Lookbehind

Lookarounds prüfen, was vor oder nach der aktuellen Position steht – ohne es in den Treffer aufzunehmen.

Syntax Name Bedeutung
(?=...) positiver Lookahead danach folgt ...
(?!...) negativer Lookahead danach folgt nicht ...
(?<=...) positiver Lookbehind davor steht ...
(?<!...) negativer Lookbehind davor steht nicht ...

Beispiel: \d+(?=€) findet in „25€“ nur „25“.

Mehrere Lookaheads am Anfang sind ideal für Passwort-Regeln: (?=.*\d)(?=.*[A-Z]).{8,} – mind. 8 Zeichen, mind. eine Ziffer und ein Großbuchstabe.

In Python muss ein Lookbehind eine feste Länge haben.

Übungen

1. Passwortregel

Mindestens 8 Zeichen, mindestens eine Ziffer und mindestens ein Großbuchstabe.

Das ganze Wort muss passen (re.fullmatch).

soll passen

Passwort1Abcdefg912345678X

soll nicht passen

passwort1PasswortPw112345678
r""
In Spielwiese öffnen

2. Euro-Beträge

Finde nur die Zahlen, auf die direkt ein € folgt (das € nicht mitnehmen).

Alle Treffer im Text müssen genau dem Ergebnis entsprechen (re.finditer).

Text

Preis: 25€, Rabatt 5%, Versand 4€, Artikel 7

Erwartetes Ergebnis

254
r""
In Spielwiese öffnen

3. Nach dem Dollarzeichen

Finde die Zahlen, vor denen ein $ steht (ohne das $).

Alle Treffer im Text müssen genau dem Ergebnis entsprechen (re.finditer).

Text

Kosten: $30, 40€, $7 und 9

Erwartetes Ergebnis

307
r""
In Spielwiese öffnen