Frage zu regex

11/01/2010 - 14:40 von Ottmar Ohlemacher | Report spam
regularexpression

Hallo,

ich möchte, dass nach einem Zahlenbereich mit einer anschließenden
Buchstabenkombination gesucht wird, beispielsweise nach einer Datei suchen,
welche in ihrem Dateinamen eine Zahl von 123...241 gefolgt von einer
anschließenden Buchstabenkombination dx hat.

Das soll also praktisch bedeuten, das die Datei
irgendwas110dxxirgendwas.jpg nicht gefunden wird, hingegen die Datei
irgenw198dxxirgendw.jpg damit gefunden.

Mein erster Versuch war .*[123-241]dx.* , aber das scheint nicht zu
funktionieren.

...muss ich das wirklich Ziffer für Ziffer "codieren"? - also:


.*(12[3-9]|1[3-9][0-9]|2[0-3][0-9]|24[0-1])dxx.*
(nàchster Versuch...scheint zu funktionieren...)

Würd mich freuen, wenn mir jemand sagen könnte, ob das nicht auch einfacher
ginge...

Danke für Info.
Ottmar

PS.: Ich arbeite zwar jetzt nicht mit Unix, aber die group schien mir für
regex-Fragen geeignet zu sein. Falls jemand eine thematisch bessere Gruppe
kennt sind Verweise willkommen.
 

Lesen sie die antworten

#1 Markus Wichmann
11/01/2010 - 15:31 | Warnen spam
Ottmar Ohlemacher () schrieb:
regularexpression

Hallo,

ich möchte, dass nach einem Zahlenbereich mit einer anschließenden
Buchstabenkombination gesucht wird, beispielsweise nach einer Datei suchen,
welche in ihrem Dateinamen eine Zahl von 123...241 gefolgt von einer
anschließenden Buchstabenkombination dx hat.

Das soll also praktisch bedeuten, das die Datei
irgendwas110dxxirgendwas.jpg nicht gefunden wird, hingegen die Datei
irgenw198dxxirgendw.jpg damit gefunden.

Mein erster Versuch war .*[123-241]dx.* , aber das scheint nicht zu
funktionieren.

...muss ich das wirklich Ziffer für Ziffer "codieren"? - also:


.*(12[3-9]|1[3-9][0-9]|2[0-3][0-9]|24[0-1])dxx.*
(nàchster Versuch...scheint zu funktionieren...)

Würd mich freuen, wenn mir jemand sagen könnte, ob das nicht auch einfacher
ginge...

Danke für Info.
Ottmar

PS.: Ich arbeite zwar jetzt nicht mit Unix, aber die group schien mir für
regex-Fragen geeignet zu sein. Falls jemand eine thematisch bessere Gruppe
kennt sind Verweise willkommen.



Nein, einfacher wird es nicht. regex sind nur zur _Text_-Verarbeitung
da. Das einzige, was du eventuell zur Vereinfachung machen könntest,
wàre, den Regex. '.*[0-9][0-9][0-9]dx.*' zu benutzen, die Zahl
herauszufiltern (mit perl oder sed) und dann zu überprüfen, ob sie im
richtigen Bereich liegt.

HTH,
Markus
Progress (n.): Process through which USENET evolved from smart people in
front of dumb terminals to dumb people in front of smart
terminals.

news://freenews.netfront.net/ - complaints:

Ähnliche fragen