Ich habe eine Zeichenfolge:Regex mit dem Namen Einfanggruppen bekommen alle Spiele in Ruby
s="123--abc,123--abc,123--abc"
ich versucht mit Ruby 1.9 die neue Funktion „genannten Gruppen“ alle Informationen benannte Gruppe zu holen:
/(?<number>\d*)--(?<chars>\s*)/
Gibt es eine API wie Pythons findall
, die eine matchdata
Sammlung zurückgibt? In diesem Fall muss ich zwei Übereinstimmungen zurückgeben, weil 123
und abc
zweimal wiederholen. Jede Match-Datei enthält Details zu den einzelnen Capture-Informationen, so dass ich m['number']
verwenden kann, um den Match-Wert zu erhalten.
/(\ d *) - ([az] *)/Wenn ich diese Regex verwende, wie könnte ich die vollständige Match-Zeichenfolge erhalten, in diesem Fall ist ['123 - abc', '123 - abc '], dann kann ich Matchdaten für jedes Element selbst erstellen – mlzboy
@mlzboy, gibt es zwei Lösungen. Am einfachsten ist es, die dritte Gruppe zu regex hinzuzufügen: '/ ((\ d *) - ([az] *))/do | all, Zahl, Zeichen |' – Nakilon
danke, es scheint, dass der Ruby nicht unterstützt die genannte Capture-Funktion gut – mlzboy