Thread grep und Teilstring (13 answers)
Opened by Benjamin at 2014-07-16 14:08

pq
 2014-07-16 14:23
#176472 #176472
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Guest Benjamin
Bisher habe ich:

Code: (dl )
if (grep($a =~ /$_/, (_12$, _11$, _10$, _08$, _07$, _04$, _00$, _94$, _91$, _90$, _87$, _67$, _24$))) { Anweisung...

Ich denke, dass ich die Syntax nach dem =~ noch falsch wähle.

eigentlich ist eher was anderes falsch:
_12$, _11$, _10$,
was soll das genau darstellen? sollen das strings sein?

ich würde folgendes vorschlagen:
Code (perl): (dl )
1
2
3
4
my @list = qw/ 12 11 10 08 07 04 00 94 91 90 87 67 24 /;
if (grep $a =~ /_($_)$/, @list){
    say "matched"
}

vielleicht ist es sogar sinnvoller, die zahlen in eine regex zusammenzufassen, damit du nicht immer 13 regexes durchlaufen musst.
Code (perl): (dl )
1
2
3
4
5
my @list = qw/ 12 11 10 08 07 04 00 94 91 90 87 67 24 /;
my $re = join "|", @list;
if ($a =~ /_($re)$/ ){
    say "matched"
}


Editiert von pq: beim ersten skript q bei qw// vergessen
Last edited: 2014-07-16 15:02:26 +0200 (CEST)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread grep und Teilstring