Ich konnte dazu nichts online finden. Es gibt RegexOptions, aber es hat nicht Global als eine seiner Optionen. In der Inline-Modifikatorliste wird auch die globale Zuordnung nicht erwähnt.Unterstützt .NET Regex den globalen Abgleich?
Auf den Punkt gebracht, ich habe einen regulären Ausdruck bekam mit dieser Regex so etwas wie
--arga= "arg1" --argb ="arg2"
in getrennte Argument Name/Wert-Paare zu analysieren:
--(\\w+)\\s*=\\s*\"(\\w+)\"\\s*
aber die .NET Regex-Klasse doesn Mach es nicht global (iterativ). Damit dies funktioniert, müsste ich eine Übereinstimmung erstellen, diese aus der Argument-Zeichenfolge entfernen und immer wieder wiederholen, bis alle Argumente erschöpft sind.
Es wäre schöner, die Regex einmal auszuführen und dann die Match-Gruppen zu durchlaufen, um die Name-Value-Paare zu erhalten. Ist das möglich? Was vermisse ich?
ugh ... danke! Das habe ich komplett vermisst. Ich werde es jetzt versuchen. – Dave
können Sie den saubersten Weg empfehlen, die Name Value-Paare zu erhalten? Wenn ich Matches benutze, gibt es zwei Gruppen zurück: '--arga =" arg1 "' und '--argb =" arg2 "', aber ich habe auf diese gehofft, ** plus ** 'arga',' arg1', 'argb' und' arg2'. – Dave
Überprüfen Sie die Eigenschaft 'Groups [1]' jedes 'Match'-Objekts. – SLaks