2013-08-20 75 views
1

任何人都可以幫我把它變成正則表達式嗎?在dreamweaver中的正則表達式

<a onclick="NavigateChat();" style="cursor:pointer;"><img src="images/online-chat.jpg" width="350" height="150" border="0" alt="Title Loans Novato - Online Chat"/></a> 

的ALT標籤將發生變化,並因而可能形象,但 <a onclick="NavigateChat();" style="cursor:pointer;"> 將始終啓動字符串, </a> 永遠結束它。我怎樣才能用一個正則表達式找到這個?

回答

1

說明

我不太清楚你正在尋找什麼回報,所以這個通用正則表達式將:

  • 發現錨標記
  • 要求錨標記有一個屬性的onclick = 「navigatechat();」
  • 要求錨標籤具有屬性style =「cursor:pointer;」
  • 允許的屬性,以在
  • 所需要的錨定標記的內部文本爲僅僅一個圖像標記任何順序匹配
  • 捕獲的錨定標記的在它內部文本標籤的整體
  • 避免許多的邊緣的情況下,其使圖案匹配,以html困難

<a(?=\s|>)(?=(?:[^>=|&)]*|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*?\sonclick="NavigateChat\(\);")(?=(?:[^>=|&)]*|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*?\sstyle="cursor:pointer;")(?:[^>=|&)]|='(?:[^']|\\')*'|="(?:[^"]|\\")*"|=[^'"][^\s>]*)*>\s*(<img\s.*?)\s*<\/a>

enter image description here

Live Demo

示例文本

<a onmouseover=' a=1; onclick="NavigateChat();" style="cursor:pointer;" href="www.NotYourURL.com" ; if (3 <a && href="www.NotYourURL.com" && id="revSAR" && 6 > 3) { funRotate(href) ; } ; ' href='http://InterestedURL.com' id='revSAR'><img src="YouShouldn'tFindMe.nope"></a> 

<a onclick="NavigateChat();" style="cursor:pointer;"><img src="images/online-chat.jpg" width="350" height="150" border="0" alt="Title Loans Novato - Online Chat"/></a> 

相配

組0獲取整個匹配的錨定標記
組1得到內部文本

[0][0] = <a onclick="NavigateChat();" style="cursor:pointer;"><img src="images/online-chat.jpg" width="350" height="150" border="0" alt="Title Loans Novato - Online Chat"/></a> 
[0][1] = <img src="images/online-chat.jpg" width="350" height="150" border="0" alt="Title Loans Novato - Online Chat"/> 
+0

即時通訊尋找替代這一次在幾百頁上一次,alt標籤改變,所以我需要一個正則表達式,而你的作品! – user1789437

+0

雖然這看起來太過於矯枉過正了,但最終還是不能找到正確的表達式來尋找 with a wild card in the middle, then? – user1789437

+0

當然,這個正則表達式應該是'(。*?)'但這可能會意外地發現一些誤報。 –

0

你需要提取/捕獲某些信息或只是找到整個字符串? 我對正則表達式推廣常用的方法是先從文字文本,只是用一般的佔位符替換元素...

<a onclick="NavigateChat\(\);" style="cursor:pointer;"><img src="[^"]+" width="\d+" height="\d+" border="\d+" alt="[^"]+"/></a> 

該表達式使用的字符集[^"]主張「不是一個引號」。如果您僅使用.*作爲通配符,則如果文檔中存在多個標記,則您的正則表達式將失敗。正則表達式是「貪婪的」,並嘗試從第一個標籤到最後一個鏈接的末尾選擇所有文本。

如果沒有數據樣本,我無法確定,但它應該接近。

相關問題