studyklar
IProg · Skript 2 · Abschnitt 7

Reguläre Ausdrücke: die Bausteine

Ein regulärer Ausdruck ist ein Muster, mit dem man prüft, ob ein Text eine bestimmte Form hat. Hier kommen seine Bausteine einzeln dran, jeder mit Beispielen von den Folien. Rechts wird jedes Muster an Texten ausprobiert. Mit Weiter geht es Schritt für Schritt voran. Ein Klick auf einen Schritt springt direkt dorthin.

Worum es geht

Skript 02, Folien 30–35: reguläre Ausdrücke mit Zeichenklassen, Metazeichen, Escape-Zeichen, Quantoren und Ankern.

Ist „5467BZ68a“ eine gültige Artikelnummer? Ist „1.7.2023“ ein Datum? Solche Fragen beantwortet ein regulärer Ausdruck: ein Muster, das beschreibt, wie ein passender Text aussieht. Die Klausuren fragen das jedes Mal ab.

So gehen wir vor:

  1. Klären, was ein regulärer Ausdruck ist.
  2. Zeichenklassen und Alternativen: welche Zeichen erlaubt sind.
  3. Metazeichen und Escape: Kurzschreibweisen und wie man sie abschaltet.
  4. Quantoren: wie oft ein Zeichen vorkommt.
  5. Anker: wo im Text das Muster stehen muss.
  6. Eine Klausurfrage selbst lösen.

Ein Muster für Text

Skript · Reguläre Ausdrücke (Folie 30)
  • dienen der Beschreibung von Zeichenmengen mit Hilfe von Mustern
  • regulärer Ausdruck = „normale“ Zeichen + Metazeichen
  • englisch „regular expression“, kurz RegExp oder Regex
  • Einsatz: Eingabevalidierung (Prüfen von Eingaben), Textsuche und Textmanipulation
  • auch in HTML5: Attribut pattern bei Eingabefeldern

Ein regulärer Ausdruck besteht aus zwei Sorten Zeichen. Normale Zeichen stehen für sich selbst: Das Muster Uhr sucht genau die Buchstaben U, h, r hintereinander. Metazeichen haben eine Sonderbedeutung, etwa [, . oder *. Sie kommen in den nächsten Schritten.

Das Muster sucht irgendwo im Text. Das gefundene Stück heißt Treffer. „Uhrzeit“ passt, der Treffer ist „Uhr“. „Wanduhr“ passt nicht: Dort steht ein kleines u, und Groß- und Kleinschreibung zählen.

In JavaScript schreibt man das Muster zwischen zwei Schrägstriche: /Uhr/. Rechts steht es genauso.

Zeichenklasse: eins aus der Liste

MusterBedeutung
[123abc]genau ein Zeichen: 1, 2, 3, a, b oder c

Eckige Klammern bilden eine Zeichenklasse: eine Menge erlaubter Zeichen. Die Klasse passt auf genau ein Zeichen, und das muss in der Klammer stehen.

[123abc] passt auf „b“. Auf „7“ passt es nicht. In „x2y“ findet es die 2. In „xyz“ steht keines der sechs Zeichen.

Noch 13 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1

Hier erscheinen gleich Muster und Texte, die damit geprüft werden.

LegendeTreffer (gefundenes Stück, unterstrichen)Noch kein Muster: Die Bausteine kommen Schritt für Schritt.