Thread Reguläre Ausdrücke mit Sonderzeichen? (5 answers)
Opened by Gast at 2007-06-25 16:25

renee
 2007-06-25 16:31
#77813 #77813
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
mit split:
Code (perl): (dl )
1
2
3
my $string = 'name1:x:4567:nochmehr:bla:ps';
my ($name) = split /:/,$string,2;
print $name;


mit RegEx:
Code (perl): (dl )
1
2
3
my $string = 'name1:x:4567:nochmehr:bla:ps';
my ($name) = $string =~ /^([^:]+)/;
print $name;


oder
Code (perl): (dl )
1
2
3
my $string = 'name1:x:4567:nochmehr:bla:ps';
my ($name) = $string =~ /^(.*?):/;
print $name;


Der erste Reguläre Ausdruck speichert die Zeichen ab Zeilenanfang so lange es *kein* : ist.

Beim zweiten RegEx ist das ? wichtig, sonst wird alles bis zum *letzten* : gespeichert.

Ich würde die split-Variante bevorzugen.
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/

View full thread Reguläre Ausdrücke mit Sonderzeichen?