正则表达式无法匹配内部可重复出现的事件

时间:2015-12-02 11:24:19

标签: c# .net regex

我未能多次匹配嵌套捕获组,结果只给了我 last 内部捕获。

输入字符串:9
正则表达式:=F2=0B=E2some text =C2=A3

它返回的捕获组是:

第1组:

  • (\=([0-9A-F][0-9A-F]))+
  • =F2=0B=E2

第2组:

  • =C2=A3
  • E2

但我需要第2组返回:

  • A3
  • F2
  • 0B

  • E2
  • C2

每个外部团体。

这有可能吗?

1 个答案:

答案 0 :(得分:2)

您只需访问match.Groups[2].Captures集合。

请参阅regex demo

enter image description here

您需要的是CaptureCollection。见Regex.Match reference

  

Captures
  获取捕获组匹配的所有捕获的集合,以最左上第一顺序(如果正则表达式使用RegexOptions.RightToLeft选项修改,则为最内 - 最右 - 第一顺序)。该集合可能包含零个或多个项目。(继承自Group。)

以下sample demo输出Groups[2] CaptureCollection(F20BE2C2,{{}的所有捕获内容1}}):

A3