Thread regulärer ausdruck
(8 answers)
Opened by Gast at 2007-12-09 18:10
dubu hat's wunderschön gemacht.
mit deinem test Code (perl): (dl
)
if ($string !~ m/[1-8pPbBnNrRqQkK]+/) {print "Fehler";} prüfst du nun nur, ob nicht (!~) ein oder mehrere zeichen aus der menge [1-8pPbBnNrRqQkK] vorkommen. das passt natürlich, sobald der string Byz ist, weil dann ja ein B drin ist. für diesen fall müsstest du's also umdrehen: Code (perl): (dl
)
if ($string =~ m/[^1-8pPbBnNrRqQkK]/) {print "Fehler";} es sei denn, ich stehe vollkommen auf dem holzweg, was, in anbetracht der uhrzeit, nicht unwahrscheinlich ist. allerdings: wenn du den ganzen string testen willst, mach's wie dubu es vorgemacht hat. wenn's nur um einen teil davon geht, sollte das so gehen. wenn ich mich nicht irre, ist [pPbBnNrRqQkK] schneller als [pbnrqk] mit case-insensitivity, oder? |