C#Regex组多次捕获
以下代码返回1:
Regex.Match("aaa", "(a)").Groups[1].Captures.Count
但是我希望收到3:我看到三次拍摄。
您需要获得匹配计数:
Regex.Matches("aaa", "(a)").Count
或者为正则表达式添加量词:
Regex.Match("aaa", "(a)+").Groups[1].Captures.Count
正则表达式(a)
仅匹配单个a
。 在上面的第一个例子中,该正则表达式可以匹配三次。
在第二个示例中,正则表达式一次匹配几个s并将每个正则表达式捕获到组1中。
要做出选择,您应该考虑它们之间的以下区别:
Regex.Matches("aaba", "(a)").Count // this is 3 Regex.Match("aaba", "(a)+").Groups[1].Captures.Count // this is 2
第二个只产生两个捕获,因为它匹配两个s的第一个序列,但是当它找到b
时它停止匹配。 +
量词仅匹配未破坏的序列。
使用Regex.Matches
方法代替?
上述就是C#学习教程:C#Regex组多次捕获分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1000697.html