2007年5月23日 星期三

正規運算式心得

============================================

本文件為正規運算式的研究心得,以下為舉例。

============================================

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的標籤內

.* :出現任何字元或數字零次以上

) :群組的結束符號

[""|'']+ :出現單引號或雙引號一次以上

) :判斷左刮號

[""|'']+ :出現單引號或是雙引號一次以上

==============================================================

特殊符號解釋

* 出現零次以上

+ 出現一次以上

? 可能會出現或是不出現

==============================================================


HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

0 意見: