我想知道获取百度收录量的正则表达式怎么写。例如获取到百度关键字的html页面,现在我想获取页面中百度为您找到相关结果约245,000个中的245,000这个数字,我该怎么写呢。原先的程序员是这么写的var mc1 = Regex.Matches(shuliang, @">找到相关结果([^≈]*?)个</span></p>", RegexOptions.IgnoreCase);但是返回结果为空。求高手帮忙。

解决方案 »

  1.   

    >百度为您找到相关结果约1,900,000个<
    (?<=>)[^><]+(?=<)   试试
      

  2.   

     var shuliang = File.ReadAllText("D:\\1.txt", Encoding.Default);
                var mc1 = Regex.Matches(shuliang, @"百度为您找到相关结果(约?)\D*?(\d+(,\d+)*)个", RegexOptions.IgnoreCase).Cast<Match>().Select(t => t.Groups[2].Value).ToArray();
               
      

  3.   

    我这样放进入没用,是我放的不对吗?
    var mc1 = Regex.Matches(shuliang, @">找到相关结果(?<=>)[^><]+(?=<)个</span></p>", RegexOptions.IgnoreCase);
      

  4.   


    果(?<=>)
    这样用本身是自相矛盾的,试下
    找到相关结果约?([\d,]+)个
      

  5.   

    你这个 Cast<Match>() 是4.0里的吧