C#regex API可能会令人困惑。有 小组 和 捕获 :
- 甲 组 表示捕获组,它用于从文本中提取的子串
- 如果该组出现在量词中,则每个组可以有多个 捕获 。
层次结构是:
- 比赛
- 组
- 捕获
(一场比赛可以有多个小组,每个小组可以有多个比赛)
例如:
Subject: aabcabbcPattern: ^(?:(a+b+)c)+$
在此示例中,只有一个组:
(a+b+)。该组在量词内部,并且匹配两次。它生成两个 捕获 :
aab和
abb:
aabcabbc^^^ ^^^Cap1 Cap2
当一组不在量词内部时,它仅生成一个捕获。在您的情况下,您有3个组,每个组捕获一次。您可以使用
match.Groups[1].Value,
match.Groups[2].Value并
match.Groups[3].Value提取你感兴趣的子串3,而不诉诸
捕捉 所有概念。



