Schrift
[thread]718[/thread]

Nested quantifiers in regex: wie "entschärft" man Sonderzeichen?



<< >> 3 Einträge, 1 Seite
x-man
 2006-04-29 16:52
#7463 #7463
User since
2003-09-11
67 Artikel
BenutzerIn
[default_avatar]
Mein Script erzeugt folgende Fehlermeldung:

Code: (dl )
Nested quantifiers in regex; marked by <-- HERE in m/([/|\.])?* <-- HERE


Diese Zeile ist dafür verantwortlich:

Code: (dl )
if($dat =~ /([\/|\.])?$_/i){


Es passiert nur, wenn $_ das Zeichen * enthält. Wie entschärfe ich Sonderzeichen im String? Muss ich etwa quoten?

Danke!\n\n

<!--EDIT|x-man|1146315244-->
renee
 2006-04-29 16:57
#7464 #7464
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
if($dat =~ /([\/|\.])?\Q$_\E/i){
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
x-man
 2006-04-29 17:20
#7465 #7465
User since
2003-09-11
67 Artikel
BenutzerIn
[default_avatar]
Danke renee! Wenn ich diesen Code verwende, funktioniert die Überprüfung nicht mehr. Der Code soll im $dat den String "*@irgendwas.de" finden. Mit \Q und \E findet er nichts.

Mit quotemeta $_ läufts.\n\n

<!--EDIT|x-man|1146322394-->
<< >> 3 Einträge, 1 Seite



View all threads created 2006-04-29 16:52.