如何从C#中的捕获函数中捕获值

时间:2013-01-06 23:26:45

标签: c# regex

当我想在C#中使用Capture函数捕获值时,我遇到了问题。 我的代码在字符串中查找许多模式,因此我使用匹配集合,然后对于每个匹配我使用Capture函数。但是,当我想要替换captureOut.value时,它不起作用。

我的代码:

MatchCollection matches = Regex.Matches(string, @"\d*\.*\d+\s")

foreach (Match matchOut in matches)
{
    foreach (Capture captureOut in matchOut.Captures)
    Match match1 = Regex.Match(captureOut.Value, @"\d*\.*\d+");
::::: //}
     output = Regex.Replace(output,captureOut.Value, Function1);
}
// i change the value of pattern based on the output of function 1

这部分代码,我不知道为什么capture out.value不起作用。

1 个答案:

答案 0 :(得分:1)

只有在正则表达式中有组,即正则表达式的部分用()括起来时,才使用capture属性。 由于你的正则表达式没有,只有一个被捕获的组,它是与正则表达式匹配的整个字符串。