Thread regexp - komme nicht weiter
(14 answers)
Opened by christian at 2014-03-04 16:21
Hallo Linuxer,
Vorschlag (und erster Erklärungsversuch im Text): Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 my $text = "[Part1,Part1_XX,Part2],[Part3,Part3_XX],[Part4, Part5],[Part6]"; # die folgenden Zeilen quasi von hinten nach vorne lesen: my @data = # fuer jeden Treffer wird der _XX-Teil entfernt und die Kommata bereinigt # map muss das Element selber wieder ausgeben; daher das $_ am Ende map { s/[^,]+_XX//g; s/^,|,$//g; s/,,/,/g; $_ } # suche nach Text in eckigen Klammern und fange ihn ein mit runden Klammern; # liefere alle Treffer als Liste ans map {} $text =~ m{\[([^\]]+)\]}g; print join "\n", @data, '' ....ich brüte gerade über Deinen Code! Aber irgendwo im map-Befehl ist die Syntax verdreht. Zumindest meldet mir das mein perl! Sorry, aber ich erkenne ihn nicht! Das mag daran liegen, dass ich den Ausdruck noch nicht verstanden habe ;-) christian Last edited: 2014-03-05 09:05:11 +0100 (CET) |