GdI 2014-12-03

GdI 2014-12-03

Neues Thema heute:

  • Kontext: Scanner (regex) und Parser für formale Sprachen
  • Schwerpunkt: reguläre Ausdrücke

Vortrag JB

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
  • 110
  • +110
  • -110
  • 0
  • 00
  • +0
  • -0

Integer-Zahl, ohne oder mit Vorzeichen

keine führenden Nullen

maximal 1 Vorzeichen

keine positive oder negative Null

tel
  • 08221 / 12 345 78
  • 0157 - 12 3345 67
  • 110

Telefonnummer

beginnt mit 0

zwischen Vorwahl und Durchwahl genau ein "/" oder "-" Trennzeichen

keine 0 direkt vor oder nach Trennzeichen

Leerzeichen sind überall erlaubt

date
  • 2014-12-24
  • 24.12.2014
  • 2014-24-12 (Monat 24 gibt es nicht)

Datum im ISO-Format

Format: JJJJ-MM-TT

http://de.wikipedia.org/wiki/ISO_8601

(keine Länderspezifischen Schreibweisen erforderlich)
time
  • 23:34:30
  • 23.34.30
  • 23:34

Uhrzeit im ISO-Format

Format: HH:MM:SS

http://de.wikipedia.org/wiki/ISO_8601

email
  • noreply@nowhere.net
  • evi123@gmx.de
  • evi123(AT)gmx(DOT)de
  • noreply@nowhere.
  • evi123@gmx.de

email-Adresse

muss mit Punkt und 2-3 Buchstaben aufhören

für Fortgeschrittene: auch gängige Ofuskierungen wie "(AT)" etc. erkennen

isbn
  • 978-3-86680-192-9
  • 089-1234567
var
  • Gehalt
  • i33_7
  • i33.7
  • 33_7

Variablen-Bezeichner in C

file
regEx-Aufgaben

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