日期:2014-05-17  浏览次数:20931 次

1个HTML的正则问题
1)用上网的通用匹配html的正则<(S*?)[^>]*>.*?|<.*? />,可以去掉大部分的代码,但这样的代码去不掉(10℃~11℃ / 50°F~52°F" rc="htt://xx.xxx.c/weather_img/14.gif">)

原来代码是这样的(<TD id=bc898115 class=ht><IMG title="多云<br>10℃~11℃ / 50°F~52°F" rc="htt://xx.xxx.c/weather_img/14.gif"></TD>)
请问怎样才可以一起去掉。

------解决方案--------------------
贪婪模式
<(S*?)[^>]*>.*
------解决方案--------------------
<.*? />
------解决方案--------------------
你要去掉所有标签的意思?
------解决方案--------------------
去掉所有标签?
  string str = File.ReadAllText("D:\\1.txt", Encoding.Default);
  str = Regex.Replace(str, @"(?is)<((?<g><)
------解决方案--------------------
(?<-g>>)
------解决方案--------------------
[^<>])*(?(g)(?!))>", "");
          
------解决方案--------------------
平衡组
<((?<Open><)
------解决方案--------------------
(?<-Open>>)
------解决方案--------------------
[^<>])*(?(Open)(?!))>

参考
http://blog.csdn.net/lxcnn/article/details/4402808
------解决方案--------------------
绕了最基本就是<[^>].*?>剩下的就是把哪些特殊字符也加进来不就行了。
------解决方案--------------------
用htmlAgilityPack,只需要1句就可以去掉所有的标签了。