0

当我想使用CaptureC# 中的函数捕获值时遇到问题。我的代码在字符串中查找许多模式,所以我使用匹配集合,然后对于每个匹配我使用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不起作用。

4

1 回答 1

1

仅当您的正则表达式中有组时,使用捕获属性才有意义,即包含在 ( ) 中的部分正则表达式。由于您的正则表达式没有,因此只有一个捕获的组,它是与正则表达式匹配的整个字符串。

于 2013-01-06T23:58:01.633 回答