5

我正在匹配一个包含可选组和非可选组混合的重复组。当我遍历捕获时,捕获集合总是折叠的,即它们不会为不匹配的项目插入空元素。

有没有办法保留捕获集合中的匹配顺序,以便将任何省略的可选项插入为空,从而确保捕获集合元素跨组对应?

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

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

4

1 回答 1

10

而不是(pattern)?使用(pattern|),你应该得到你想要的......

于 2012-10-18T18:07:38.627 回答