.NET Regex是否支持全局匹配?

Dav*_*ave 38 .net c# regex

我无法在网上找到任何关于此的内容.有RegexOptions,但它没有Global作为其选择之一.内联修饰符列表也未提及全局匹配.

简而言之,我有一个正则表达式来解析类似的东西

--arga= "arg1"  --argb ="arg2" 
Run Code Online (Sandbox Code Playgroud)

使用此正则表达式分隔参数名称/值对:

--(\\w+)\\s*=\\s*\"(\\w+)\"\\s*
Run Code Online (Sandbox Code Playgroud)

但.NET Regex类并不是全局(迭代).因此,为了让我能够使用它,我必须做一个匹配,然后从参数字符串中删除它,并一遍又一遍地循环,直到我用完所有的参数.

运行一次正则表达式会更好,然后遍历匹配组以获取名称值对.这可能吗?我错过了什么?

SLa*_*aks 61

您正在寻找Regex.Matches方法(复数),它返回包含原始字符串中所有匹配项的集合.

  • 检查每个`Match`对象的`Groups [1]`属性. (4认同)
  • 呃...谢谢!我完全错过了。我现在就试一试。 (2认同)