Thread Frage zu Regex bei Ersetzen
(8 answers)
Opened by tcicit at 2010-12-15 09:59
Dein Regulärer Ausdruck ist zu "gierig". ".*" versucht möglichst viele Zeichen zu treffen. Und der längste mögliche Treffer beginnt schon ab dem ersten ":".
So funktioniert es: Code (perl): (dl
)
$str =~ s/:[^:]*$//; Damit sagst Du, dass nach dem ":" kein ":" mehr kommen darf. Und das trifft ja erst bei dem letzten ":" zu... 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/ |