gpt4 book ai didi

C# Regex 组多个捕获

转载 作者:太空狗 更新时间:2023-10-29 20:55:32 24 4
gpt4 key购买 nike

以下代码返回 1:

Regex.Match("aaa", "(a)").Groups[1].Captures.Count

但我希望收到 3:我看到了 a 的三个捕获。

最佳答案

您需要获取匹配计数:

Regex.Matches("aaa", "(a)").Count

或者在正则表达式中添加量词:

Regex.Match("aaa", "(a)+").Groups[1].Captures.Count

正则表达式 (a) 只匹配一个 a。在上面的第一个示例中,该正则表达式可以匹配三次。

在第二个示例中,正则表达式一次匹配多个 a 并将每个捕获到第 1 组。

要做出选择,您应该考虑它们之间的以下差异:

Regex.Matches("aaba", "(a)").Count // this is 3
Regex.Match("aaba", "(a)+").Groups[1].Captures.Count // this is 2

第二个只产生两次捕获,因为它匹配两个 a 的第一个序列,但是当它找到一个 b 时它停止匹配。 + 量词只匹配完整的序列。

关于C# Regex 组多个捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4970816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com