c# 正则表达式捕获
Posted
技术标签:
【中文标题】c# 正则表达式捕获【英文标题】:c# regex captures 【发布时间】:2012-10-18 18:01:46 【问题描述】:我正在匹配一个包含可选组和非可选组混合的重复组。当我遍历捕获时,捕获集合总是折叠的,即它们不会为不匹配的项目插入空元素。
有没有办法保留捕获集合中的匹配顺序,以便将任何省略的可选项作为 null 插入,从而确保捕获集合元素跨组对应?
为了澄清,假设我的重复(父)组匹配了 3 次,并且在三个匹配中的一个中,省略了可选的子组,但存在于其他两个组中,我最终得到了一个捕获集合比其他捕获集合少一个元素的子组。我如何知道哪些父组省略了可选项?
我想可以使用捕获集合项的 Index 属性并检查它是否在父组的范围内,但是如果不匹配项在捕获集合中返回 null 项会更容易。有没有办法做到这一点?
【问题讨论】:
你能提供一些示例代码来演示吗? 【参考方案1】:而不是(pattern)?
使用(pattern|)
你应该得到你想要的......
【讨论】:
以上是关于c# 正则表达式捕获的主要内容,如果未能解决你的问题,请参考以下文章