(正则表达式);反转选择,

时间:2016-04-28 15:10:26

标签: html regex hyperlink notepad++ jpeg

Notepad ++(REGEX);反转选择,

以下2个不同的代码,效果非常好。 :) 现在我想结合这两个不同的代码!

\bhttps?:[^)''"\s]+\.(?:jpg|jpeg|gif|png) 

https://codereview.stackexchange.com/questions/20126/regex-to-get-all-image-links

^((?!hello).)*$  

notepad++ Inverse Regex replace (all but string)

1 个答案:

答案 0 :(得分:1)

转发

确保您使用的是最新版本的notepad ++,其中已知问题在notepad ++ v5中使用正则表达式,之前已在v6中更正过。

描述

  • 捕获src属性值
  • 使用双引号,单引号和非引用属性值
  • 避免棘手的边缘情况,通常会使简单的表达式绊倒

<img(?=\s|>)(?=(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*?\ssrc=(['"]?)(.*?)\1(?:\s|>))(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*>

enter image description here

如何

来自Notepad ++

  1. ctrl F 进入查找和替换 模式

  2. 选择正则表达式选项

  3. 选择“。匹配换行符”选项

  4. 在“查找内容”字段中放置以下正则表达式 <img(?=\s|>)(?=(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*?\ssrc=(['"]?)(.*?)\1(?:\s|>))(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*>

  5. 点击查找全部

  6. 正则表达式示例

    Live Demo

    示例文字

    注意前两个图像标签有一些非常困难的边缘情况

    <img onmouseover=' img = 10; src="NotYourImage.png" ; if (3 <img && src="NotYourImage.png" && 6>3) { funRotate(src) ; } ; ' src="ImageYouAreLookingFor.png">
    <img onmouseover=' src="NotTheDroidsYouAreLookingFor.png" ; if (x > 3) { funRotate(src); } ' src="http://another.example/picture.png">
    <img src="./CaptchaServlet?rd=htb54m" class="flt" id="captcha" height="33" width="110"/>
    

    <强>匹配

    组0获取整个图像标签
    第1组获取用于包围src属性的引用,用于确保正确的结束引用匹配 第2组获取src值,或者如果使用上面的备用正则表达式,则只接收rd查询字符串

    [0][0] = <img onmouseover=' img = 10; src="NotYourImage.png" ; if (3 <img && src="NotYourImage.png" && 6>3) { funRotate(src) ; } ; ' src="ImageYouAreLookingFor.png">
    [0][1] = "
    [0][2] = ImageYouAreLookingFor.png
    
    [1][0] = <img onmouseover=' src="NotTheDroidsYouAreLookingFor.png" ; if (x > 3) { funRotate(src); } ' src="http://another.example/picture.png">
    [1][1] = "
    [1][2] = http://another.example/picture.png
    
    [2][0] = <img src="./CaptchaServlet?rd=htb54m" class="flt" id="captcha" height="33" width="110"/>
    [2][1] = "
    [2][2] = ./CaptchaServlet?rd=htb54m