1:<li><label>公 司 名:</label>东莞市新秀电子有限公司</li>
除的红色是我要读取之外其它都是要匹配到正则表达式的;因为我页面上的HTML代码还有其它<li><lable></lable></li>
只有把  公司名:这种也写入正则才能准确匹配到的;2  <li class="locus"><label>所 在 地:</label>广东,  东莞</li>
  这个情况跟上面的一样的,要读取红色的字;所在地 也是要写在正则表达式里的;
3  <span>已 售 出:</span><em>155</em>件</li>这个情况也是跟上面一样的,要读取红色的值,字也要写在正则表达式里的;才能准确匹配到位置的;因为HTML源代码还有类似的标签;
4:<meta name="description" content="adkfksadkfskdkfsdkfksdkf"/>同样是要读取红色的字
5:就是大家有没有好的正则表达式的学习资料啊!或者说怎么学的会比较好的!我看今天两个强人正则写的很牛....
就上面这五个问题的;期待今天回答的那两强人....

解决方案 »

  1.   


    void Main()
    {
      //1.    
    string str1=@"<li><label>公 司 名:</label>东莞市新秀电子有限公司</li>";
    Console.WriteLine(Regex.Match(str1,@"(?i)(?<=公 司 名:\s*(<[^>]*>)?)\w+(?=</li>)").Value);   

    //2.
    string str2="<li class=\"locus\"><label>所 在 地:</label>广东, 东莞</li>";
    Console.WriteLine(Regex.Match(str2,@"(?i)(?<=所 在 地:\s*(<[^>]*>)?)[^<>]+?(?=</li>)").Value);   

    //3
    string str3="<span>已 售 出:</span><em>155</em>件</li>";
    Console.WriteLine(Regex.Match(str3,@"(?i)(?<=已 售 出:.*?)[^<>]+?(?=</em>)").Value);   

    //4
    string str4="<meta name=\"description\" content=\"adkfksadkfskdkfsdkfksdkf\"/>";
    Console.WriteLine(Regex.Match(str4,@"(?i)<meta[^>]*?content=(['""\s]?)([^'""\s]+)\1[^>]*>").Groups[2].Value);
    }
      //5
      //http://download.csdn.net/source/2844387
      
      

  2.   

    这是匹配结果:
    东莞市新秀电子有限公司
    广东, 东莞
    155
    adkfksadkfskdkfsdkfksdkf