linux-l: regexp

Rolf Buenning RBuenning at t-online.de
Di Aug 22 09:06:20 CEST 2000


Nochmal Hallo,

On Mon, Aug 21, 2000 at 04:58:48 +0200, Rolf Buenning wrote:
> On Sam, Aug 19, 2000 at 07:06:28 +0200, Dreger Jens Dreger wrote:
> > On Sat, Aug 19, 2000 at 06:34:41PM +0100, Andre Grueneberg wrote:
> > > 
> > > /^((1[7-9]|[23].)\.07|([01].|2[0-3])\.08)\.2000/
> 
> Danke, aber leider funktioniert's nicht, oder ich bin zu bloed :(
> Ich habe (aus Linux-Magazin) ein script 'calc', das mittels awk was

Also, nach einigem Probieren (Versuch u. Irrtum oder so) behaupte ich,
dass es mit regexp nicht geht.

Beispiel Juli
soll liefern 17.07. und alle folgenden bis 31.07.
1. Ziffer [1-3]
2. Ziffer [0-9]  wegen 20., 21. ....
Also ^[1-3][0-9]\.07\.
Das liefert aber _auch_ 10.7....16.07. :(

Oder August
Wenn bis 17.08. also 01.08.-17.08. 
1. Ziffer [0-1]
2. Ziffer [0-9] wegen 10., 11.08. ...
Also ^[0-1][0-9]\.08\.
Liefert _auch_ den 18. und 19.08. :(

Insgesamt 17.07. ... 17.08.

grep "^\(\([1-3][0-9]\.07\)\|\([0-1][0-9]\.08\)\)"
bringt (s.o.) 10.07. ... 19.08., also falsche Ergebnisse.

Also bleibt nur perl, so wie Jens es geschrieben hat, das funktioniert
genau.
Na, ja, war ein Versuch.
Oder liege ich da falsch?

Gruss Rolf



Mehr Informationen über die Mailingliste linux-l