Folgender Code:
if ($_=~ /[0-2][0-9]:[0-5][0-9]/) {
print "$_";
}
Was muss ich in den if-Block schreiben, damit er mir nicht die ganze Zeile ($_) sondern NUR den Treffer auf den Regex, also z.B "12:39" ausgibt?
LG
Florian
Shame on me...
"Das Ergebnis des letzten Matches wird in der speziellen Variable $/ gespeichert, und im String-Kontext wird daraus automatisch der Teil des Strings, auf den die Regex gepasst hat."
http://perl-6.de/tutorials/regex
ok es klappt doch nicht.
weder mit print $\ noch mit mit print $1. bekomme ich das Match ausgegebn.
ich habe als beispiel folgenden Code benutzt:
my $str = "Du schuldest mir 122 Euro";
if ($str ~~ m/\d+/) {
print "$/ Euro, verstanden?";
}
mit $& funktionierts...
if ($_=~ /[0-2][0-9]:[0-5][0-9]/) {
print "$_";
}
Was muss ich in den if-Block schreiben, damit er mir nicht die ganze Zeile ($_) sondern NUR den Treffer auf den Regex, also z.B "12:39" ausgibt?
LG
Florian
Shame on me...
"Das Ergebnis des letzten Matches wird in der speziellen Variable $/ gespeichert, und im String-Kontext wird daraus automatisch der Teil des Strings, auf den die Regex gepasst hat."
http://perl-6.de/tutorials/regex
bank24 hat gesagt.:Shame on me...
"Das Ergebnis des letzten Matches wird in der speziellen Variable $/ gespeichert, und im String-Kontext wird daraus automatisch der Teil des Strings, auf den die Regex gepasst hat."
http://perl-6.de/tutorials/regex
ok es klappt doch nicht.
weder mit print $\ noch mit mit print $1. bekomme ich das Match ausgegebn.
ich habe als beispiel folgenden Code benutzt:
my $str = "Du schuldest mir 122 Euro";
if ($str ~~ m/\d+/) {
print "$/ Euro, verstanden?";
}
mit $& funktionierts...
Zuletzt bearbeitet von einem Moderator: