Perl Regex Problem
Chrisi
- perl
Hallo zusammen,
ich bin einfach zu blöd um eine einfache Regex zu bauen die mir:
durch
ersetzt. Meine Regex sieht so aus:
s/{hdd=\d}/hdd=$CNF{'NEUERWERT'}/g;
Nur irgendwie klappt das nicht :-)
Meine Strings sind immer so aufgebaut:
Ich will eigentlich nur die Zahl hinter dem = ersetzen ...
Kann mir da jemand einen Tipp geben?
Danke und Grüße
Chrisi
Liebe(r) Chrisi,
s/{hdd=\d}/hdd=$CNF{'NEUERWERT'}/g;
ich habe nie "geperlt", aber dieses \d gibt nur eine einzige Ziffer zurück. Versuche einmal das hier:
s/{hdd=\d+}/hdd=$CNF{'NEUERWERT'}/g;
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hi Felix,
danke für den Tipp, das klappt so prima. Manchmal ist man aber auch blöde :-)
Gruß
Chrisi
gudn tach!
danke für den Tipp, das klappt so prima.
...was ich ehrlich gesagt nicht glaube.
die braces (geschweifte klammern) werden hier literal verstanden, da eine interpretation als meta-character keinen sinn machen wuerde.
/{hdd=\d+}/
matcht also z.b. "{hdd=100}" aber nicht "hdd=100". ein vorgegebenes beispiel lautete aber
# hdd=ZAHL
und da dort keine braces sind, wuerde auch nichts gematcht.
prost
seth