Modellieren Sie deutsche Autonummernschilder als reguläre Ausdrücke. Verwenden Sie geeignete Unix-Tools, um alle Nummernschilder aus einem Text herauszusuchen. Als Datenmaterial diene die Datei
/users/rzdspc5/nf1/xamtrup/schilder.txt
Gehen Sie davon aus, daß lediglich Kennzeichen wie HH-XY 1023 oder M-DJ 13 auftreten. Zur Lösung geeignete Tools können z.B. sein grep, sed, tr, etc.
Welche Kommandozeile ist hierzu notwendig? Was für außergewöhnliche Probleme können die Lösung komplizieren? Die Liste kann z.B. so aussehen:
... STD-A 1 SL-X 7654 M-J 13 PI-KI 176 HH-AD 1045 ...
sed -e's/[<>]/ /g' schilder.txt |
sed -n -e's/[A-Z]\{1,3\}-[A-Z]\{1,2\} [1-9][0-9]\{0,3\}/<!&>/gp'
|
sed -e's/^./>&/;s/.$/&</' |
sed -e's/>[^<]*<//g' |
sed -e's/^\!//' |
tr "!" "\012"
Im Einzelnen:
Modellieren Sie Uhrzeiten als regulären Ausdruck. Erlaubt sein sollen z.B. die Angaben
10 Uhr 45
Viertel vor 3
23 Uhr 10
Halb 5
Stunde ::= [0-9]|1[0-9]|2[0-3] Minute ::= [1-9]|[0-5][0-9] Minute2 ::= [1-9]|[0-2][0-9] `Stunde' Uhr `Minute' (((Kurz|Viertel|`Minute2')(vor|nach))|Halb|Viertel|Dreiviertel) Stunde
Modellieren Sie Gleitkommazahlen als regulären Ausdruck. Der Ausdruck soll Zahlen beschreiben können wie
1.3E10
-2E-5
.34567
-5
Vorzeichen ::= [-+]\{0,1\} Zahl ::= [0-9]+ Mantisse ::= `Vorzeichen'`Zahl'(.`Zahl')\{0,1\} Exponent ::= [eE]`Vorzeichen'`Zahl' `Mantisse'`Exponent'\{0,1\}
Author: | Jan W. Amtrup |
Document: | |
Last modified: |