正則表達(dá)式
更新時(shí)間:2007年03月30日 00:00:00 作者:
我們要解析一個(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> 類(lèi)似一個(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;
}
}
例子:
以從字符串中取出所有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> 類(lèi)似一個(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;
}
}
相關(guān)文章
JS和C#實(shí)現(xiàn)的兩個(gè)正則替換功能示例分析
這篇文章主要介紹了JS和C#實(shí)現(xiàn)的兩個(gè)正則替換功能,結(jié)合具體實(shí)例形式分析了js與C#進(jìn)行字符串正則替換的相關(guān)實(shí)現(xiàn)方法與注意事項(xiàng),需要的朋友可以參考下2017-06-06eregi_replace與preg_replace 函數(shù)代碼的用法比較
eregi_replace與preg_replace 函數(shù)代碼的用法比較...2007-03-03常用正則表達(dá)式及評(píng)注-學(xué)習(xí)正則必備
2008-02-02計(jì)算一個(gè)字符串在另一字符串中出現(xiàn)的次數(shù)函數(shù)
計(jì)算一個(gè)字符串在另一字符串中出現(xiàn)的次數(shù)函數(shù)2008-03-03詳解正則表達(dá)式后面不要包含指定的字符串內(nèi)容
這篇文章主要介紹了正則表達(dá)式后面不要包含指定的字符串內(nèi)容的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-04-04JS正則表達(dá)式獲取指定字符之后指定字符之前的字符串(推薦)
這篇文章主要介紹了JS正則表達(dá)式獲取指定字符之后指定字符之前的字符串,內(nèi)容比較簡(jiǎn)單,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11