Thread RegExp matcht nicht (3 answers)
Opened by Opaxtl at 2007-09-09 01:07

sid burn
 2007-09-09 03:59
#99230 #99230
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
So wie es ausschaut möchtest du einen bestimmten String in einem anderen Suchen.

Wenn du allerdiengs soetwas schreibst.
Code (perl): (dl )
$bar =~ m/$foo/

Dann wird der Inhalt von $foo als Regex betrachtet, und nicht als String, Zeichen haben also eine besondere bedeutung. Das was du willst ist eher das hier:

Code (perl): (dl )
$bar =~ m/\Q$foo\E/

Dadurch werden alle sonderzeichen in $foo escaped und du suchst wirklich einen String.

Übrigens wenn du einen direkten String innerhalb eines anderen suchst dann ist es besser gleich index() zu nehmen. Das macht genau das gewünschte und ist schneller.

Code (perl): (dl )
if ( index($bar, $foo) >= 0 ) {...

Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread RegExp matcht nicht