正则表达式:是否有可能参考捕获的所有重复?

时间:2010-03-11 01:01:51

标签: regex

考虑这个正则表达式:^([0-9]+)(?: ([-\+/%\*]) ([0-9]+))+$

在英语中,它表示“一个数字,后跟一个或多个(一个操作和另一个数字)”。

5 + 4等主题匹配,正则表达式产生$ 1 = 5,$ 2 = +,$ 3 = 4.

与此主题相匹配:5 + 4 * 3,我得到$ 1 = 5,$ 2 = *,$ 3 = 3.

在后一种情况下,我可以捕获并引用+和4吗?

换句话说,在正则表达式中使用量词时,我可以引用除最终捕获序列之外的序列吗?

如果答案取决于语言或平台,我想我最感兴趣的是:

  • C,PCRE
  • 的Javascript
  • .NET,使用System.Text.RegularExpressions

1 个答案:

答案 0 :(得分:1)

在.NET中,您将使用

myMatch.Groups[1].Captures