C#使用正則匹配嵌套div里面的內(nèi)容
用C#采集網(wǎng)頁(yè)的內(nèi)容后,但內(nèi)容中div一層嵌套一層。
如果直接采集<div>與</div>之間的內(nèi)容肯定得不到我們想要的內(nèi)容。
所以要獲取嵌套div之間的內(nèi)容才可以,也是從當(dāng)前<div>開始到對(duì)應(yīng)的</div>結(jié)束。
下面介紹一下使用C#使用正則匹配嵌套div里面的內(nèi)容,以下函數(shù)是獲取<div id="content"></div>之間的匹配嵌套div中的內(nèi)容,也可以修改相應(yīng)的地方,獲取<div class="content1"></div>之間的內(nèi)容
private string getRegHtml(string s2)
{
string result = "";
string reg = @"<(?<HtmlTag>[\w]+)[^>]*\s[iI][dD]=(?<Quote>[""']?)content(?(Quote)\k<Quote>)[""']?[^>]*>(((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*)</\k<HtmlTag>>";
MatchCollection m = Regex.Matches(s2,reg,RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Singleline);
foreach (Match sub_m in m)
{
result = sub_m.Groups[1].Value;
}
return result;
}
如果直接采集<div>與</div>之間的內(nèi)容肯定得不到我們想要的內(nèi)容。
所以要獲取嵌套div之間的內(nèi)容才可以,也是從當(dāng)前<div>開始到對(duì)應(yīng)的</div>結(jié)束。
下面介紹一下使用C#使用正則匹配嵌套div里面的內(nèi)容,以下函數(shù)是獲取<div id="content"></div>之間的匹配嵌套div中的內(nèi)容,也可以修改相應(yīng)的地方,獲取<div class="content1"></div>之間的內(nèi)容
private string getRegHtml(string s2)
{
string result = "";
string reg = @"<(?<HtmlTag>[\w]+)[^>]*\s[iI][dD]=(?<Quote>[""']?)content(?(Quote)\k<Quote>)[""']?[^>]*>(((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*)</\k<HtmlTag>>";
MatchCollection m = Regex.Matches(s2,reg,RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Singleline);
foreach (Match sub_m in m)
{
result = sub_m.Groups[1].Value;
}
return result;
}
中國(guó)· 上海

添加微信咨詢
關(guān)鍵詞
辦公室:上海市浦東新區(qū)郭守敬路351號(hào)
CopyRight?2009-2019 上海谷谷網(wǎng)絡(luò)科技有限公司 All Rights Reserved. 滬ICP備11022482號(hào)-8
- top
- 在線咨詢
-
添加微信咨詢