Thread regex: Matching von >:( und :(
(2 answers)
Opened by Froschpopo at 2012-12-21 02:08
Ich erkenne Dein Problem nicht wirklich; außerdem ist Dein gezeigter Ausdruck fehlerhaft.
Du hast eine unmaskierte ) da drin, die auch keine öffnende Entsprechung hat. Wenn Du eine Liste von Alternativen hast, dann sollte diese auch von Links nach Rechts abgearbeitet werden. Und der erste Treffer ist dann auch der Treffer. Wenn >:( als Alternative vor :( steht, dann sollte es auch auf ">:(" passen. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #! /usr/bin/perl use strict; use warnings; my $smiley_regex = qr{ ( # Capture the match >:\( | :\( | :\| | :drinking: ) }x; while ( my $line = <DATA> ) { if ( $line =~ $smiley_regex ) { print "$. ", $1, "\n"; } } __DATA__ :-) >:( :o) :-/ :( :drinking: meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |