我們要解析一個(gè)HTML文檔時(shí)可利用正則表達(dá)式取得標(biāo)簽內(nèi)容
例子:
以從字符串中取出所有A標(biāo)簽的 id號(hào)和內(nèi)容為例:
<a id=”1″ target=”_blank”>aaaaaaaaaa</a>
正則表達(dá)式:
<a[^<]*id[^<]*=[^<]*”(?<ID>[^<]*)”[^<]*target[^<]*=[^<]*”[^<]*_blank[^<]*” [^<]*>(?<content>[^<]*)</a>
正則分解:
[^<]* 是一個(gè)很有用的組合,能定位到下一個(gè)查詢關(guān)鍵字
(?<ID>[^<]*) 用于取得一個(gè)或者多個(gè)值直到遇到下一個(gè)關(guān)鍵字
<ID> 類似一個(gè)正則的變量,給用()號(hào)取得的內(nèi)容進(jìn)行標(biāo)識(shí),以便于程序的調(diào)用
C#調(diào)用的例子:
string strRegex=@”<a[^<]*id[^<]*=[^<]*”(?<ID>[^<]*)”[^<]*target[^<]*=[^<]*”[^<]*_blank[^<]*” [^<]*>(?<CONTENT>[^<]*)</a>”;
string strSource=”<a id=”1″ target=”_blank”>aaaaaaaaaa</a>”
System.Text.RegularExpressions.Regex r;
System.Text.RegularExpressions.MatchCollection m;
mc= new System.Text.RegularExpressions.Regex(strRegex, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
ro = mc.Matches(strSource);
if (ro.Count >= 0)
{
for (int i = 0; i < m.Count; i++)
{
//取出ID和內(nèi)容
string id = ro[i].Groups[“ID”].Value;
string topic = ro[i].Groups[“CONTENT”].Value;
}
}
正則表達(dá)式
相關(guān)推薦
- ca證書怎么刪除
- ca證書怎么刪除
- 重新定義網(wǎng)絡(luò)安全:Check Point 推出終極云端 AI 安全解決方案 Quantum Force 網(wǎng)關(guān)系列
- Check Point 通過(guò)全新安全托管功能增強(qiáng)了 Infinity 全球服務(wù)
- 云安全資源池代表廠商!瑞數(shù)信息再度入選Gartner《2023中國(guó)安全技術(shù)成熟度曲線》
- 雙喜臨門:「DaoCloud 道客」 榮獲 2023 可信云兩項(xiàng)最佳實(shí)踐
- 中國(guó)信通院郭亮:數(shù)據(jù)中心發(fā)展綜述
- html 5設(shè)計(jì)原則介紹