如何从C#中的捕获函数捕获值
问题描述:
我想在C#中使用Capture
函数捕获值时遇到问题。 我的代码在字符串中查找很多模式,所以我使用匹配集合,然后对于每个匹配我使用Capture
函数。但是当我想替换captureOut.value
时,它不起作用。如何从C#中的捕获函数捕获值
我的代码:
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
不起作用。
答
只有在正则表达式中有组时,即使用()中包含的正则表达式部分,使用捕获属性才有意义。 由于你的正则表达式没有,只有一个捕获组,它是与正则表达式匹配的整个字符串。
你能重新澄清你想要做什么吗?也许提供一些输入字符串的例子以及你想要的结果是什么? – JLRishe