Cover-Art für: Schlüsseltechnologie

Schlüsseltechnologie #21 vom 23. Juni 2022

Reguläre Ausdrücke

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

 
00:00 Intro
 
03:00 Definition von Grammatik
 
03:57 Grammatik in der Informatik
 
18:26 Chomsky-Hierarchie
 
22:16 Typ 3: reguläre Grammatiken
 
24:08 Exkurs: menschliche Sprache und hidden Markov model
 
27:39 Münzautomaten und Softwaretester
 
33:10 Typ 2: kontextfreie Grammatiken
 
44:01 Typ 1 und 0
 
47:36 Dinge wegwerfen und Zeitsouveränität
 
49:50 Beispiel für grafische Repräsentation von Grammatiken
 
54:42 Praxisteil: Reguläre Ausdrücke
 
66:41 Erweiterte Reguläre Ausdrücke
 
90:18 Problem in der Praxis: **Escaping**

Download

Shownotes

Siehe Wikipedia:

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.

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

Audioquellen in Abspielreihenfolge (soweit nicht gemeinfrei)