在网页中 类似于: 
<li>(之间有空格,数量不定)<h4>(我要获取的内容1)</li> 
<li>(之间有空格,数量不定)<h4>(我要获取的内容2)</li> 
<li>(之间有空格,数量不定)<h4>(我要获取的内容3)</li> 
<li>(之间有空格,数量不定)<h4>(我要获取的内容4)</li> 我该如何去写我的表达式呢,试了N次都没结果,请高手作答.

解决方案 »

  1.   

    for()
    <li>\s+?<h4>(?<need>[^<]*?)</li>
      

  2.   

    <li>\s+?<h4>(?<content>[^<]+)</li>
      

  3.   

    如果  (我要获取的内容1) 这里面还带有HTML标记呢?
      

  4.   

    <li>\s*?<h4>(?<need>[\s\S]*?)</li>
      

  5.   

    格式完全一样的??
    是就这样:
    <li>\s+<h4>(?<need><a[^>]*?>[^<]*?</a></h4>\s+<div[^>]*?>\s+(<span[^>]*?>[^<]*?</span)\s+)+?</div>\s+<div[^>]*?>(\s+<div[^>]*?>\s+<h5>[^<]*?</h5>[^<]*?</div>){2}<div[^>]*?>\s+<h5>[^<]*?</h5>\s+<a[^>]*/>[^<]*?</a>\s+<h5>[^<]*?</h5>\s+<span[^>]*?>\s+</div>\s+</div>\s+<div[^>]*?>(\s+<div><a[^>]*?>[^<]*?</a><div>){3}\s+</div>\s+)</li>随手写的,LZ 看看
      

  6.   

    地址: \r\n金门路210号\r\n\r\n\r\n如何匹配出 金门路210号?@"地址:[\s\S]*?(?<need>[\s\S]*?)\r\n" 这样写不对啊!
      

  7.   

    简单点的,如果地址中间没有空白字符,这样就可以了            string testStr = "地址: \r\n金门路 210号\r\n\r\n\r\n";
                Match m = Regex.Match(testStr, @"地址:\s+(\S+)\s+");
                if (m.Success)
                {
                    richTextBox2.Text = m.Groups[1].Value;
                }如果可能有,用这个替换上面的相应代码
    Match m = Regex.Match(testStr, @"地址:\s+((\S+\s*?\S+)+)\s+");