Perl: regexp
Posted: 2004-03-06 21:46
Moin zusammen,
hab mir hier nen kleinen Regulären Ausdruck zusammengesuch, der macht auch das was er soll, aber nicht so 100%.
Das extrahiert aus $host alle zusammenstehenden Zahlen und packt sie dann in $1, respektive in $no.
Problem ist, wenn in $host KEINE Zahl drin ist, landet der gesammte String in $1, das will ich aber ned. $1 und somit $no sollen leer bleiben, wenn aus $host keine Zahl extrahiert werden kann.
Man könnte nun abfragen ob $host eq $1, aber das ist sicherlich nicht die feinste Lösung...
Jemand ne idee?
Danke, Domi.
PS: Sinn ist es, aus einem Servernamen "serverXXX" die Servernummer zu extrahieren, manche Server haben aber individuelle Namen ohne Nummern.
hab mir hier nen kleinen Regulären Ausdruck zusammengesuch, der macht auch das was er soll, aber nicht so 100%.
Code: Select all
$host =~ s/(d+)/$1/g; $no = $1;Problem ist, wenn in $host KEINE Zahl drin ist, landet der gesammte String in $1, das will ich aber ned. $1 und somit $no sollen leer bleiben, wenn aus $host keine Zahl extrahiert werden kann.
Man könnte nun abfragen ob $host eq $1, aber das ist sicherlich nicht die feinste Lösung...
Jemand ne idee?
Danke, Domi.
PS: Sinn ist es, aus einem Servernamen "serverXXX" die Servernummer zu extrahieren, manche Server haben aber individuelle Namen ohne Nummern.