<div class="socialMedia">
<div id="divLinkedin" style="width:100px;height:0px;">
<script src="//platform.linkedin.com/in.js" type="text/javascript"></script>
<script data-counter="right" type="IN/Share"></script>
<!-- Facebook share button Start -->
</div>
<div id="divFb" style="float: left;margin-left:100px;">
<a expr:share_url="data:post.url" href="http://www.facebook.com/sharer.php" name="fb_share" type="button_count">Share</a>
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>
<!-- Facebook share button End -->
</div>
<div id ="divTw" style="float: left;margin-left:10px;">
<a class="twitter-share-button" data-lang="en" href="https://twitter.com/share">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
<br />
<br />
</div>
我需要找到正则表达式来过滤div元素中的内容class ='socialMedia'。里面的所有内容必须是空字符串?我怎么能这样做?
答案 0 :(得分:2)
您无法以可靠的方式使用RegEx解析HTML,正确检测结束标记是一个主要问题this is a good SO post explaining why not to use regex“正则表达式是一种不太复杂的工具,无法理解HTML所使用的结构.HTML不是一种常规语言,因此无法通过正则表达式进行解析。“
改为使用HTML Agility Pack。
e.g。
HtmlDocument htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml("http://www.YOURURL.com");
foreach (HtmlNode selectNode in htmlDocument.DocumentNode.SelectNodes("//div[@class='socialMedia']"))
{
string divContents = selectNode.InnerText;
// Do Stuff
}