Ein "ODER" in RegExpr
Samy
- perl
0 Andres Freund0 Samy
Hallo,
ich habe beispiels weise einen Skalar wie folgt:
$str = "555.005,22 +4,72 Blah -1,30 Muhhh 37,00 Text Text -0,55 +96,22";
so, nun möchte ich gerne daraus diese Kommazahlen filtern, wo allerdings ein postitives oder negatives Vorzeichen existiert.
Allerdings bring ich irgendwie nur fertig das so zumachen,
dass entweder nur die Zahl mit "+" oder mit "-" beginnt...
und das sieht bei mir so aus:
@ausgabe = $str =~ /[+]\d?\d,\d\d/g;
#Ausgabe:
print $ausgabe[0];
Also was noch zusagen ist:
Ich brauch immer nur die erste Kommazahl, egal ob nun mit positivem oder negativen Vorzeichen, aber eben die erste mit Vorzeichen. Drum isses auch Wurst was alles davor steht.. es geht mir halt um die erste. Und weil aber durchaus mehrere Vorkommen können, darum auch der Array ...und damit mein Ergebnis nicht mit nachfolgenden überschrieben wird (denn ich brauch ja den ersten), deshalb eben: "$ausgabe[0]" .
Aber wie bereits anfangs erwähnt, kann diese Zahl auch negativ sein.
Wie bewerkstelligt man dieses? ..Also etwas in der Art:
@ausgabe = $str =~ /[+] ODER [-]\d?\d,\d\d/g;
...würde ich quasi wollen an dieser Stelle.
Ich hoffe man kann mir mit diesem Anliegen helfen. Danke.
Hi,
Ich kann dir den Tipp geben, hier nachzulesen: http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm.
Andres Freund
Ps: Damit das suchen einfacher wird: |
Danke...
Wenn ich das "-" einfach in die eckige Klammer mithineinschreibe, gehts ja auch und gegenüber der "|" -Version spare ich auch noch ein ein Zeichen ;o) ...aber für anspruchsvolleres ist das "|"-Zeichen (eine Pipe?..naja egal) mit Sicherheit besser geeignet ...also danke nochmal.
Samy