Thread Regular Expression zurücksetzen?
(3 answers)
Opened by simps1 at 2007-06-05 13:04
Noch schöner finde ich, Variablen zum Einfangen der RegEx-Captures zu verwenden...
z.B.: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 #!/usr/bin/perl use strict; use warnings; my ($eins,$zwei) = 'Test im Test' =~ /(es).*(es)/; print "$eins -- $zwei\n"; ($eins,$zwei) = 'Perl ist die beste Sprache' =~ /(es).*(es)/; print "$eins -- $zwei\n"; Dann kann man auch leichter an den Regulären Ausdrücken etwas ändern. Sonst muss man so viel im Code anfassen. Beispiel aus: Code (perl): (dl
)
1 2 'Max. 456 Min. 123' =~ /(\d+).*(\d+)/; print "Maximum ist $1 -- Minimum ist $2\n"; Code (perl): (dl
)
1 2 'Max. 456 Diff. 333 Min. 123' =~ /(\d+).*(\d+).*(\d+)/; print "Maximum ist $1 -- Minimum ist $3 --- Differenz ist $2\n"; Dann vergisst man aber leichter mal das $2 in $3 zu ändern. Mit Variablen passiert das nicht leicht: Aus Code (perl): (dl
)
1 2 my ($max,$min) = 'Max. 456 Min. 123' =~ /(\d+).*(\d+)/; print "Maximum ist $max -- Minimum ist $min\n"; wird Code (perl): (dl
)
1 2 my ($max,$diff,$min) = 'Max. 456 Diff. 333 Min. 123' =~ /(\d+).*(\d+)/; print "Maximum ist $max -- Minimum ist $min --- Differenz ist $diff\n"; Edit: mit if(...) sollte man dennoch arbeiten, weil man sonst so viele Warnungen mit "uninitialized value" bekommt...\n\n <!--EDIT|renee|1181037307--> 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/ |