Regex Schnellstart – Keine oder viele Wiederholungen
Ein mächtiges Konzept in regulären Ausdrücken ist die Fähigkeit, eine beliebige Anzahl von Zeichen zuzuordnen. Stell dir zum Beispiel vor, du programmierst ein Web-Formular, das ein Spendenfeld hat, das einen numerischen Wert in Euro annimmt. Ein wohlhabender Website-Besucher kommt vielleicht vorbei und möchte 15.000 € spenden, während ein normaler Besucher 15 € spenden möchte.
Eine Möglichkeit, ein solches Muster auszudrücken, wäre, den sogenannten Kleene Star und das Kleene Plus zu verwenden, der im Wesentlichen entweder 0 oder mehr oder 1 oder mehr des Zeichens darstellt, dem er folgt (er folgt immer einem Zeichen oder einer Gruppe).
Zum Beispiel können wir, um die oben genannten Spenden abzugleichen, das Muster d* verwenden, um eine beliebige Anzahl von Ziffern abzugleichen. Ein eleganteres Muster wäre jedoch d+ .Das stellt sicher, dass der Eingabestring mindestens eine Ziffer/Zahl hat.
Diese Quantifizierer können mit jedem beliebigen Zeichen oder speziellen Metazeichen verwendet werden, zum Beispiel
- a+ (ein oder mehrere a's),
- [abc]+ (ein oder mehrere beliebige a-, b- oder c-Zeichen) und
- .* (null oder mehr beliebige Zeichen).
Unten findest du ein paar einfache Zeichenketten, die du mit den Metazeichen Stern und Plus kombinieren kannst.
[lp_spoiler title="Lösung anzeigen" class="da"]
Lösung der Aufgabe:
aa+
Elegante Lösung, um alle Zeichen zu finden:
aa+b*c+
[/lp_spoiler]