Regex

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Version vom 4. Mai 2006, 10:35 Uhr von Gschu (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Definition

Das Akronym Regex steht für reguläre Ausdrücke. Diese dienen der Beschreibung einer Familie von formalen Sprachen. Sie gehören somit zur Theoretischen Informatik. Hier bilden sie die unterste und somit ausdrucksschwächste Stufe der Chomsky-Hierarchie (Typ-3). Es lässt sich zeigen, dass zu jedem regulären Ausdruck ein gleichwertiger endlicher Automat existiert und umgekehrt. Ein Regex besteht meistens aus einer eckigen Klammer die mehrere Zeichen enthält. Die Zeichen in der Klammer stellen keine feste Reihenfolge da sondern sind als Menge zu verstehen. Ausserdem gibt es Quantoren die hinter diesen Klammern platziert werden um zu signalisieren wie häufig die Buchstaben der genannten Menge vorkommen sollen.

Mögliche Elemente

Ein regulärer Ausdruck wird aus den Zeichen des zugrunde liegenden Alphabets in Kombination mit sogenannten Metazeichen ([, ], (, ), {, }, |, ?, +, *, ^, $, \, .) gebildet.

Quantoren

  • ? : Der voranstehende Ausdruck ist optional, er kann einmal vorkommen, muss es aber nicht, d. h. der Ausdruck kommt null- oder einmal vor.
  • + : Der voranstehende Ausdruck muss mindestens einmal vorkommen, darf aber auch mehrfach vorkommen.
  • * : Der voranstehende Ausdruck darf beliebig oft (auch keinmal) vorkommen.
  • {n} : Der voranstehende Ausdruck muss exakt n-mal vorkommen.


Beispiele

  • [A-Z] -> findet einen Großbuchstaben (möglicher Output: D)
  • [a-z0-9]* -> findet beliebig viele Kleinbuchstaben und Zahlen. Diese können gemischt vorkommen (möglicher Output: ge56t)
  • [abc]?[0-9]* -> findet die ersten drei Buchstaben des Alphabets einmal und danach beliebig viele Zahlen (möglicher Output: b45)

Quellen