我正在匹配一个包含可选组和非可选组混合的重复组。当我遍历捕获时,捕获集合总是折叠的,即它们不会为不匹配的项目插入空元素。
有没有办法保留捕获集合中的匹配顺序,以便将任何省略的可选项插入为空,从而确保捕获集合元素跨组对应?
为了澄清,假设我的重复(父)组匹配了三次,并且在三个匹配中的一个中,省略了一个可选的子组,但存在于其他两组中,我最终得到了子组的捕获集合比其他捕获集合少一个元素。我如何知道哪些父组省略了可选项目?
我想可以使用捕获集合项的 Index 属性并检查它是否在父组的范围内,但是如果非匹配项在捕获集合中返回 null 项会更容易。有没有办法做到这一点?