============================================
本文件為正規運算式的研究心得,以下為舉例。
============================================
EX:以下區段為欲掃瞄之範例,
===============================================
新增規則運算式(20070613By包仔)
===============================================
使用以下運算式可以抓取標準語法與Script之超連結(前提是必須含有http://)1.共用正規運算式:["|']+(http://[^" >]+)["|']+?
相同部份就不重複
正規運算式比對方式解釋:
[^" >]+ :抓取http://之後除了"之外的任何字元直到判斷符號為>停止
? :中斷的符號
***********************************************
***********************************************
說明:包仔想由下列區段中取得超連結字串,今日欲使用正規運算式取得。
***********************************************
<a href="http://tws.yahoo.com" >雅虎</a><br />
<a href="http://wwws.pchome.com.tw" >雅貓</a><br />
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/FAQ/image/MoveFirst.png" OnClientClick="javascript:window.open('http://wwws.pchome.com.tw')"/>
***********************************************
使用正規運算式共計有兩種(以顏色區分運算式規則的語法,同顏色區塊意義相同)
1.標準HTML超連結:<as+href=[""|'']+(?<http>.*)[""|'']+
2.網頁Script超連結方式:bOnClientClick=[""|''].+([""|'']+(?<http>.*)[""|'']+)[""|'']+
正規運算式比對方式是
1.標準超連結的方法解釋:
<a :尋找開頭為<a符號的字元
s+ :出現空白字元一次以上
href= :搜尋串流中的特定字串
[""|'']+ :出現單引號或是雙引號一次以上
( :群組的啟始符號
?<http> :可能會出現的內容。<http>將後面搜尋的結果加入http的標籤內
.* :出現任何字元或數字零次以上
) :群組的結束符號
2.網頁Script的方法解釋
b :字元的啟始
OnClientClick= :串流中的特定字串
[""|''] :出現單引號或雙引號
.+ :出現任何字元或數字一次以上
( :判斷右刮號
[""|'']+ :出現單引號或是雙引號一次以上
( :群組的啟始符號
?<http> :可能會出現的內容。<http>將後面搜尋的結果加入http的標籤內
.* :出現任何字元或數字零次以上
) :群組的結束符號
[""|'']+ :出現單引號或雙引號一次以上
) :判斷左刮號
[""|'']+ :出現單引號或是雙引號一次以上
==============================================================
特殊符號解釋
* 出現零次以上
+ 出現一次以上
? 可能會出現或是不出現
==============================================================