0%
In Bearbeitung

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]