Я не смог найти что-нибудь в Интернете по этому поводу. Там RegexOptions, но у него нет глобального как одного из его вариантов. Список встроенных модификаторов также не упоминает глобальное соответствие.
Вкратце, у меня есть регулярное выражение для разбора чего-то вроде
--arga= "arg1" --argb ="arg2"
в отдельные пары имя/значение аргумента, используя это регулярное выражение:
--(\\w+)\\s*=\\s*\"(\\w+)\"\\s*
но класс .NET Regex не делает это глобально (итеративно). Поэтому, чтобы я мог заставить это работать, мне нужно было бы сделать совпадение, затем удалить это из строки аргумента и цикл снова и снова, пока я не исчерпал все аргументы.
Было бы лучше запустить регулярное выражение один раз, а затем перебрать группы совпадений, чтобы получить пары значений имени. Это возможно? Что мне не хватает?