正则表达式 正则表达式foreach同时匹配两个问题

来源:互联网  时间:2016/8/2 7:45:47

关于网友提出的“正则表达式 正则表达式foreach同时匹配两个问题”问题疑问,本网通过在网上对“正则表达式 正则表达式foreach同时匹配两个问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:正则表达式 正则表达式foreach同时匹配两个问题
描述:

下面的代码为了使得到的字符串同时匹配ms1,ms2用了两个foreach,结果是错误的出现匹配重复
应该怎么写??


        string Reg = @"...";
        string titReg = @"..";
        foreach (Match match in matches)
        {
           MatchCollection ms1 = Regex.Matches(match.ToString(), Reg);
           MatchCollection ms2= Regex.Matches(match.ToString(), titReg);
            foreach (Match m1 in ms1)
            {
                foreach (Match m2 in ms2)
                {   string UrlStr = m1.ToString;
                    string tit = m2.ToString();
                    Response.Write(UrlStr + ":" + tit + "
");
                                  }
            }
        }

解决方案1:

引用 6 楼 wdx2008 的回复:
大家帮看看亚,我说的好像已经很明白了亚

很不明白的说
没细看你写的代码,但可以很明确的告诉你,正则不是那样用的
下面是源字符串test中有多个匹配项的写法,如果只有一个用Match即可
string test = "xxx  ";
MatchCollection mc = Regex.Matches(test, @"]*?href=(['""]?)(?[^'""\s]*)\1[^>]*>\s*(?[^>]*?)\s*", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
    richTextBox1.Text += m.Groups["url"].Value + "\n";
    richTextBox1.Text += m.Groups["text"].Value + "\n";
}

上一篇aspnet初学者问题
下一篇有没有人知道11618239145这个IP是哪家公司的啊???
明星图片
相关文章
《正则表达式 正则表达式foreach同时匹配两个问题》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)