Checkmark on Circle.png

Regulärer Ausdruck

Aus KGS-Wiki
Version vom 11. September 2023, 12:15 Uhr von Sn (Diskussion | Beiträge) (Artikel angelegt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Ein regulärer Ausdruck ist eine Möglichkeit, Wörter formaler Sprachen zu beschreiben. Anders als eine formale Grammatik beschreibt ein regulärer Ausdruck dabei nur die Syntax eines Wortes und kann nichts über dessen Semantik aussagen. Mit regulären Ausdrücken können nicht alle Sprachen beschrieben werden, die mit einer formalen Grammatik beschrieben werden können.

Der wichtigste Unterschied zu einer formalen Grammatik ist: eine formale Grammatik gibt Regeln zum Erzeugen eines Wortes an, ein regulärer Ausdruck dient nur der Überprüfung. Ob ein Wort einem regulären Ausdruck entspricht, kann dabei wesentlich schneller überprüft werden, als ob das Wort den Regeln einer Grammatik entspricht.

Syntaxelemente

Die wichtigsten Syntaxelemente von regulären Ausdrücken
Schreibweise Bedeutung Beispielwörter
(abc|def) abc oder def abc, def
[abcde] a, b, c, d oder e a, b, e
[0-9] eine Ziffer von 0 bis 9 1, 5, 8
[k-r] ein Buchstabe von k bis r l, o, q
[^abcde] weder a, b, c, d noch e g, 6, !
a* beliebig viele a (auch keines) aaaaaa, , a
a+ beliebig viele a (mindestens eines) a, aaa, aaaaaaa
abc* ab und dann beliebig viele c ab, abccc, abccccc
(abc)* beliebig viele abc abc, abcabcabc,
def? de und dann ein f oder nicht de, def
[a-z]{5} fünf Kleinbuchstaben hallo, alles, roger
a{4,7} mindestens 4 und höchstens 7 a aaaa, aaaaa, aaaaaaa
^abc abc am Anfang der Zeile
def$ def am Ende der Zeile
\?, \., \*, \[, \] usw. Diese Zeichen haben eine Funktion. Um nach den Zeichen selbst suchen zu können, muss der \ davorgesetzt werden.
. ein beliebiges Zeichen z, 7, §

Beispiele

  • [A-ZÄÖÜ]{1,3}-[A-Z]{1,2} [0-9]{1,4}[HE]? für Autokennzeichen wie NMS-KG 123 oder PLÖ-RX 42E
  • numbers\[[0-9]+\] = [0-9]*; für Wertzuweisungen für Einträge in der Liste numbers

Zum Weiterlesen