GdI 2014-12-03
Neues Thema heute:
- Kontext: Scanner (regex) und Parser für formale Sprachen
- Schwerpunkt: reguläre Ausdrücke
Vortrag JB
- Über Beamer: Ausschnitte aus Gumm, Sommer, Kap. 9 - 9.2.5 (S. 695-705)
- über Presenter: Erläuterung regex
- online: regex ausprobieren
Lernziel:lesen und anwenden können von Regex-Ausdrücke mit den Regex-Operatoren * + ? . [ ] ( ) { } \w \d
Blick in die Realität:
Übungsaufgaben
Schreiben Sie zu folgenden Aufgaben einen regulären Ausdruck und einen endlichen Automaten.
Für Fortgeschrittene: Suchen Sie nicht nur nach dem jeweiligen String, sondern taggen Sie ihn auch, z.B. in der Form
- meine Telefonnummer ist [tel 08221 / 1234 56], ruf doch mal an!
tag |
Treffer |
kein Treffer |
Hinweise |
---|---|---|---|
int |
|
|
Integer-Zahl, ohne oder mit Vorzeichen keine führenden Nullen maximal 1 Vorzeichen keine positive oder negative Null |
tel |
|
|
Telefonnummer beginnt mit 0 zwischen Vorwahl und Durchwahl genau ein "/" oder "-" Trennzeichen keine 0 direkt vor oder nach Trennzeichen Leerzeichen sind überall erlaubt |
date |
|
|
Datum im ISO-Format Format: JJJJ-MM-TT http://de.wikipedia.org/wiki/ISO_8601 (keine Länderspezifischen Schreibweisen erforderlich) |
time |
|
|
|
|
|
email-Adresse muss mit Punkt und 2-3 Buchstaben aufhören für Fortgeschrittene: auch gängige Ofuskierungen wie "(AT)" etc. erkennen |
|
isbn |
|
|
|
var |
|
|
Variablen-Bezeichner in C |
file |
|
|
Dateiname für Übungen bei JBusse gemäß http://jbusse.de/traktate/Benennungskonvention%20f%C3%BCr%20Dateinamen.html |
Text als Eingabe für Ihren RegEx:
int 110 +110 -110 0 00 +0 -0 tel 08221 / 12 345 78 0157 - 12 3345 67 110 date 2014-12-24 24.12.2014 2014-24-12 (Monat 24 gibt es nicht) time 23:34:30 23.34.30 23:34 email noreply@nowhere.net evi123@gmx.de evi123(AT)gmx(DOT)de noreply@nowhere. evi123@gmx.de isbn 978-3-86680-192-9 089-1234567 var Gehalt i33_7 i33.7 33_7