这是我自己写的正则表达式,我是用分析网页里面的标签,string htnmText="";
//htnmText我用的是百度首页的html代码做测试
htnmText="@<html><head><meta http-equiv=Content-Type content="text/html;charset=gb2312"><title>..//我要查找<body></body>的字符串;
Regex reg = new Regex("<body>(?<key>.*?)</body>", RegexOptions.None);
Match mch = reg.Match(htnmText);
string findStr=mch.Groups["key"].Value;
测试发现,没有找到匹配值,不知道为什么?请高手看下要怎么写

解决方案 »

  1.   

    htnmText的值你運行的時候有拿出來看過嗎?
    htnmText="@<html><head><meta http-equiv=Content-Type content="text/html;charset=gb2312"><title>..
    好像不行吧
      

  2.   

    "<body>(?<key>[\w\W]*?)</body>"
      

  3.   


         string strhtml = new WebClient().DownloadString("http://www.baidu.com");
                Console.WriteLine(System.Text.RegularExpressions.Regex.Match(strhtml,"<body.*?>(.*?)</body",System.Text.RegularExpressions.RegexOptions.Singleline).Groups[1].Value);
                Console.ReadKey();
      

  4.   

    剛剛測了下,是你
    htnmText="@<html><head><meta http-equiv=Content-Type content="text/html;charset=gb2312"><title>..
    賦值有問題,自己再搞搞
      

  5.   

    呵呵~
    问题解决了,是RegexOptions的原因,原先没有指定;
    刚才改成了 Singleline就行了,多谢了hackztx ;
    刚查了csdn,真后悔没查就来问了,
    Singleline指定单行模式。更改点 (.) 的含义,使它与每一个字符匹配(而不是与除 \n 之外的每个字符匹配)。