Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#正则表达式捕获_C#_Regex_Capturecollection - Fatal编程技术网

c#正则表达式捕获

c#正则表达式捕获,c#,regex,capturecollection,C#,Regex,Capturecollection,我正在匹配一个重复组,该重复组包含可选组和非可选组的混合。当我迭代捕获时,捕获集合总是折叠的,也就是说,它们不会为不匹配的项插入null元素 是否有办法保留捕获集合中的匹配顺序,以便将任何省略的可选项作为null插入,从而确保捕获集合元素在组之间对应 为了澄清,假设我的重复(父)组被匹配了三次,并且在三次匹配中的一次匹配中,一个可选的子组被省略,但在其他两个组中存在,我最终得到了子组的一个捕获集合,它比其他捕获集合少一个元素。如何知道哪些父组省略了可选项 我认为可以使用捕获集合项的Index属性

我正在匹配一个重复组,该重复组包含可选组和非可选组的混合。当我迭代捕获时,捕获集合总是折叠的,也就是说,它们不会为不匹配的项插入null元素

是否有办法保留捕获集合中的匹配顺序,以便将任何省略的可选项作为null插入,从而确保捕获集合元素在组之间对应

为了澄清,假设我的重复(父)组被匹配了三次,并且在三次匹配中的一次匹配中,一个可选的子组被省略,但在其他两个组中存在,我最终得到了子组的一个捕获集合,它比其他捕获集合少一个元素。如何知道哪些父组省略了可选项


我认为可以使用捕获集合项的Index属性并检查它是否在父组的范围内,但如果非匹配项在捕获集合中返回null项,则会更容易。有没有办法实现这一点?

而不是
(模式)?
使用
(模式)
,你应该得到你想要的…

你能提供一些示例代码来演示吗?