ttimeless hat sich ein Thema gewünscht und mit Beginn von Xyrills Recherchen angefangen, es zu bereuen. Es stellt sich heraus, dass das Thema zwar abstrakt, aber dennoch spannend ist. Außerdem gibt es im zweiten Teil der Sendung noch praktische Dinge zu lernen.
Länge: 96:46 Minuten
Grammatik bezeichnet in der Linguistik jede Form einer systematischen Sprachbeschreibung. Dabei steht der Begriff der Grammatik einmal für das Regelwerk selbst, auf der anderen Seite aber auch für die Theorie über eine bestimmte Sprache oder Sprachfamilie.
im Kontext der Informatik: formale Grammatiken für formale Sprachen
Chomsky-Hierarchie: Klassifikation von formalen Grammatiken in aufsteigender Striktheit und absteigender Flexibilität
Beispiel für grafische Repräsentation von Grammatiken: siehe SQLite-Dokumentation
reguläre Grammatiken im Alltag: reguläre Ausdrücke; formale Definition mit vier Grundbausteinen
Grundbaustein | Beispielausdruck | Findet z.B. |
---|---|---|
Zeichen(folge) | Ausdruck |
Ausdruck |
Alternative | Ausdruck|Ausdrücke |
Ausdruck und Ausdrücke |
Gruppierung | Ausdr(uck|ücke) |
Ausdruck und Ausdrücke |
Sternquantor | to*ll |
tll , toll , tooll , toooll , etc. |
Zusatzbaustein | Definition | Beispielausdruck | Findet z.B. |
---|---|---|---|
Zeichenklasse | [ABC...] = A|B|C|... |
positive Ganzzahl: 0|[1-9][0-9]* |
0 , 42 , 900 , aber nicht 0815 |
feste Zeichenklasse | \s für Whitespace, \d = [0-9] für Ziffern, etc. |
||
beliebiges Zeichen | . |
Klammerausdruck: (.*) |
(2 + 4) , (siehe oben) , aber auch (siehe oben (oder nicht) |
Fragezeichenquantor | A? = (|A) |
Ganzzahl mit Vorzeichen: [+-]?(0|[1-9][0-9]*) |
+0 , -42 , 23 |
Fixquantor | z.B. A{3} = AAA , A{2,4} = AAA?A? |
Postleitzahl: [0-9]{5} |
01127 , 50616 |
Plusquantor | A+ = AA* |
Domainname: ([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+ |
www.example.com |
Anker | ^ für Zeilenanfang, $ für Zeilenende, \b für Wortgrenze |
Schulz\b |
Schulz , aber nicht Schulze |
Problem in der Praxis: Escaping
Regexen lernen