Thread m//g in list context: filling an array with matches (2 answers)
Opened by dukeofnukem at 2007-02-07 13:42

Dubu
 2007-02-07 18:15
#74120 #74120
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=dukeofnukem,07.02.2007, 12:42]Gibt es keine Möglichkeit m// alle matches in list context zurückkommen zu lassen?[/quote]
Was du zurück bekommst, sind schon alle Matches. Deine gesamte Regex kann nämlich nur genau einmal auf den String passen, auch wenn sie Unterausdrücke enthält, die mehrfach passen. Leider bekommst du als Ergebnis nur die (letzten) Inhalte aller explizit aufgeführten Klammerpaare.

Du könntest die Regex aber modifizieren, ohne viel an Genauigkeit zu verlieren:
Code: (dl )
my @orgsteps = $ref =~ /(?:^Stepnames=|,\s*)(\w+)/g;

Hier passt die gesamte Regex mehrfach auf den String $ref, sodass alle Ergebnisse gefunden werden.\n\n

<!--EDIT|Dubu|1170865017-->

View full thread m//g in list context: filling an array with matches