No he podido encontrar nada en línea con respecto a esto. Hay RegexOptions, pero no tiene Global como una de sus opciones. La lista de modificadores en línea tampoco menciona la coincidencia global..NET Regex admite la coincidencia global?
En pocas palabras, tengo una expresión regular para analizar algo así como
--arga= "arg1" --argb ="arg2"
argumento separado en pares de nombre/valor utilizando esta expresión regular:
--(\\w+)\\s*=\\s*\"(\\w+)\"\\s*
pero la clase .NET Regex doesn no hacerlo globalmente (iterativamente). Entonces para poder hacer que esto funcione, tendría que hacer una coincidencia, luego eliminar esto de la cadena del argumento, y repetir una y otra vez hasta que haya agotado todos los argumentos.
Sería mejor ejecutar la expresión regular una vez, y luego recorrer los grupos de coincidencia para obtener los pares de valores nominales. es posible? ¿Qué me estoy perdiendo?
ugh ... gracias! Me perdí completamente eso. Voy a darle una oportunidad ahora. – Dave
¿Puede recomendar la manera más limpia de obtener los pares de valores nominales? Cuando uso Matches, devuelve dos grupos: '--arga =" arg1 "' y '--argb =" arg2 "', pero esperaba estos, ** más ** 'arga',' arg1', 'argb', y' arg2'. – Dave
Comprueba la propiedad 'Groups [1]' de cada objeto 'Match'. – SLaks