Reguläre Ausdrücke im autotool
$Header: /home/joe/scratch/challenger/autotool/doc/regexp.html,v 1.1.1.1 2002/05/24 10:46:47 challenger Exp $
Benutzung
Benutzen Sie folgendes Format:
import Exp
student :: Exp
student = read "a Sigma^* b - Sigma^* (a^2 + b^2) Sigma^*"
Das ist ein erweiterter regulärer Ausdruck.
Syntax
Erweiterte reguläre Ausdrücke bestehen aus:
- Basis:
- Klein-Buchstaben und Ziffern: Terminalzeichen
- Einstellige Operatoren (nachgestellt):
- x ^ *: hoch Stern
- x ^ +: hoch Plus
- x ^ n: hoch Zahl
- Zweistellige Operatoren
- x * y: Punkt (Verkettung) - kann weggelassen werden
- x $ y: Shuffle
- x & y: Durchschnitt
- x + y: Vereinigung
- x - y: Differenz
- x <> y: symmetrische Differenz
(gelistet von stärkster zu niedrigster Bindungskraft)
- zusätzlich sind (je nach Aufgabe) einige Abkürzungen vordefiniert,
Das sind Bezeichner, die mit einem Großbuchstaben beginnen.
Normalerweise gibt es:
- Eps: das leere Wort
- Empty: die leere Menge
- Sigma: das Terminalalphabet (je nach Aufgabe)
Einfache reguläre Ausdrücke dürfen (wie im Skript)
nur die Operatoren Stern, Punkt und Vereinigung enthalten.
Zeilenumbruch
Einen regulären Ausdruck, der mehrer Zeilen lang ist,
kann man sich zusammensetzen, indem man die Zeichenketten
hintereinanderhängt:
import Exp
student :: Exp
student = read
( "a Sigma^* b "
++ " - Sigma^* (a^2 + b^2) Sigma^*"
)
http://www.informatik.uni-leipzig.de/~joe/
mailto:joe@informatik.uni-leipzig.de