Dreamweaver中的正则表达式

时间:2013-08-20 21:54:28

标签: regex 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> 将永远结束它..我怎样才能使用正则表达式找到它?

2 个答案:

答案 0 :(得分:1)

描述

我不太确定你要返回什么,所以这个通用的正则表达式将会:

  • 找到锚标记
  • 要求锚标签具有属性onclick =“navigatechat();”
  • 要求anchor标签具有属性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"/>

答案 1 :(得分:0)

您是否需要提取/捕获某些信息或只找到整个字符串? 我通常用于推广regexp的方法是从文字文本开始,只用一般占位符替换元素......

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

此表达式使用字符集[^"]代表“非引号”。如果您只使用.*作为通配符,那么如果文档中存在多个标记,则正则表达式将失败。正则表达式是“贪婪的”,并会尝试从第一个标签到最后一个链接的末尾选择所有文本。

如果没有数据样本,我无法对此进行测试,但应该关闭。