例如<html>
<head></head>
<body>
<div id="tset"><span>test</span>
<span>test</span>
<span>test</span>
<span>test</span></br></br></br></div>
</body>
<html>
我想去div标签里面的全部内容,这些内容是多行的,这个正则表达式要怎么写。纠结半天了

解决方案 »

  1.   

    string tempStr = File.ReadAllText(@"C:\Users\dell\Desktop\Test.txt",Encoding.GetEncoding("gb2312"));//读取文档
                tempStr = Regex.Replace(tempStr, @"(?<=<div[^>]*>)[\s\S]*(?=</div>)", string.Empty);
      

  2.   

    (?is)(?<div><div[^>]*>(?<get>(?<!<div|</div>).*(((?'divNode'<div[^>]*>)(?<!<div|</div>).*)+((?'-divNode'</div>)(?<!<div|</div>).*)+)*(?(divNode)(?!)))</div>)
    div
    嵌套的!!
      

  3.   

    莫非是这样?
    string[] result = Regex.Matches(yourHtml,@"(?s)(?<=<div[^>]*>.+?<span>)[^<>]+").Cast<Match>().Select(m=>m.Value).ToArray();
      

  4.   

    简单理解为:(?<=<div[^>]*>)[\s\S]*(?=</div>)
    开始与<div.....> 结束于:</div>
      

  5.   

    "(?is)<div[^>]*?>(?:(?!<div).)*?</div>"这个怎么样?