我有一个包含数百个链接的文件:
<h3>aspnet</h3>
<a href="http://example.com/1" icon="data:image/png;base64,iwl1zecylifzn3fz9fr3l4cdjqhigcmjo9m">Ex 1</a>
<a href="http://example.com/2" icon="data:image/png;base64,ivborw0kggoaaaansuheugaaaqcayaaaaf8">Ex 2</a>
<a href="http://example.com/3" icon="data:image/png;base64,jmiaw+f2pwdohka6t+hnyfanbkwoa1olmug">Ex 3</a>
所以我想删除所有元素
icon="data:image/png;base64,ivborw0kggoaaaansuheugaaabaaaaaqcayaaaaf8..."
来自各个方面。我经历了official Notepad++ regex wiki,经过几次试验后得出了这个结论:
icon=\"[^\.]+\"
问题在于,选择超过第二个双引号并在下一个双引号处停止。为了说明,这将选择以下内容:
icon="data:image/png;base64,...jbvebich4sec9zgth1sfue1cdt...">EX 1</a> <a href="
如果我将上述正则表达式修改为,
icon=\"[^\.]+\">
然后它几乎是完美的,但它也选择了>
:
icon="data:image/png;base64,...jbvebich4sec9zgth1sfue1cdt...">
我正在寻找的正则表达式将选择如下:
icon="data:image/png;base64,...jbvebich4sec9zgth1sfue1cdt..."
我也尝试了以下内容,但它根本不匹配
icon=\"[^\.]+\"$
答案 0 :(得分:5)
只需匹配除引号之外的任何内容,然后引用引号:
icon="[^"]+"
刚刚使用notepad ++ 6.2.2进行了测试,并确认其匹配正确。
细分:
icon="
这很明显,与文字icon="
匹配。
[^"]+
这意味着匹配任何不是"
的字符。在它之后添加+
意味着“一次或多次。”
最后,我们匹配另一个文字"
。
答案 1 :(得分:1)
我不是记事本++用户。所以不知道记事本++如何使用正则表达式,但你可以尝试替换
icon=\"[^>]*
到(empty string)
?
答案 2 :(得分:0)
试试这个解决方案:
这是我只是检查是否如您所愿。
实现目标的方式:
查找内容:(icon.*")|.*?
替换为:$1