我們要解析一個HTML文檔時可利用正則表達式取得標簽內容
例子:
以從字符串中取出所有A標簽的 id號和內容為例:
<a id=”1″ target=”_blank”>aaaaaaaaaa</a>
正則表達式:
<a[^<]*id[^<]*=[^<]*”(?<ID>[^<]*)”[^<]*target[^<]*=[^<]*”[^<]*_blank[^<]*” [^<]*>(?<content>[^<]*)</a>
正則分解:
[^<]* 是一個很有用的組合,能定位到下一個查詢關鍵字
(?<ID>[^<]*) 用于取得一個或者多個值直到遇到下一個關鍵字
<ID> 類似一個正則的變量,給用()號取得的內容進行標識,以便于程序的調用
C#調用的例子:
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和內容
string id = ro[i].Groups[“ID”].Value;
string topic = ro[i].Groups[“CONTENT”].Value;
}
}