Siduction Forum

Siduction Forum => Scripting & Kernelhacking => Topic started by: ralfi on 2010/11/17, 14:15:13

Title: Regular Expression Abfrage
Post by: ralfi on 2010/11/17, 14:15:13
Hallo allesamt,
ich habe eine Frage zu einer RegEx Auswertung.

Die Zeichenkette welche auszuwerten ist, lautet:
"Dies ist eine ganz tolle Fehlermeldung und ist #46 Zeichen lang."

Wie lautet der RegEx Ausdruck um zu prüfen,
- ob die Zeichenkette "Fehlermeldung" enthalten ist ?
- ob der Ausdruck "#46" vorhanden ist ?

Vielen Dank schon im voraus.
Title: Regular Expression Abfrage
Post by: DonKult on 2010/11/17, 14:36:11
Für solche Abfragen benötigt man keine regulären Ausdrücke, da deine Abfragen einfach Strings sind sind es einfach suchen nach (Sub-)Strings innerhalb eines ganzen.

Für Abfragen im Allgemein ist grep in der shell zuständig, bei dir wäre das -F Matcher (--fixed-strings).


Ein Aufgabe für reguläre Ausdrücke wäre, wenn du einen Haufen an Zeilen hast (mit Fehlermeldungen meinetwegen) und nur solche haben willst, bei denen ein Bugreportnummer angegeben wurde (im Text steht ein # und darauf folgen nur Zahlen bis zum nächsten Leerzeichen).

Code: [Select]
$ cat /tmp/test
Dies ist eine ganz tolle Fehlermeldung und ist #46 Zeichen lang.
Fly with DL #A12 instead.
You have a problem: #123.
$ grep -E '#[0-9]+[ .,]' /tmp/test
Dies ist eine ganz tolle Fehlermeldung und ist #46 Zeichen lang.
You have a problem: #123.
$
Title: Regular Expression Abfrage
Post by: ralfi on 2010/11/17, 16:05:15
Jo, da hast Du natürlich Recht. Das war ein blöder Post weil er nicht so richtig darstellt was ich eigentlich will. In der Zwischenzeit habe ich schon was Passendes rausgefunden.

Vielen dank trotzdem.
Title: Re: Regular Expression Abfrage
Post by: kuchenfreund_in on 2010/11/17, 20:51:57
Quote from: "ralfi"
In der Zwischenzeit habe ich schon was Passendes rausgefunden.

... nur zum Interesse ;) ...
was hast du wie rausgefunden und gelöst?