如何在regex语句中访问变量? c#4.0

时间:2011-10-17 08:01:09

标签: c# regex string foreach statements

我到处寻找,但我不能为我的生活弄清楚如何在其他地方访问正则表达式声明中的变量。

如果有人可以提供帮助那就太棒了! 这是代码:

string strRegex = @"(regexstring)";

        RegexOptions myRegexOptions = RegexOptions.Multiline;
        Regex myRegex = new Regex(strRegex, myRegexOptions);
        string strTargetString = str9

        foreach (Match myMatch in myRegex.Matches(strTargetString))
        {
            if (myMatch.Success)
            {

这是问题 - > 。 。 ..................                   string str5 = myMatch.ToString();

            }

WebBrowser1.Navigate时(STR5); < - 这不起作用

如何访问字符串str5?循环之外?请帮忙

2 个答案:

答案 0 :(得分:2)

如果要访问外部循环变量,则需要在循环外部声明。但是,您需要考虑:

  • 如果没有匹配,你想发生什么?
  • 如果有多个匹配项,您希望发生什么?

你需要在循环外部为它分配一个变量,否则当你尝试读取变量时,编译器会抱怨,因为它没有明确分配。

答案 1 :(得分:0)

也许你想要:

string str5 = myMatch.Value;
webBrowser1.navigate(str5);