0

我有一个文件,其中包含数百个这样的链接:

<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..."

从所有的行。我浏览了官方的 Notepad++ 正则表达式 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=\"[^\.]+\"$
4

3 回答 3

5

只需匹配除引号之外的任何内容,然后是引号:

icon="[^"]+"

刚刚使用 notepad++ 6.2.2 进行了测试,并确认这与所写的正确匹配。

分解:

icon="

这是相当明显的,匹配文字文本icon="

[^"]+

这意味着匹配任何不是". 后面加上+它的意思是“一次或多次”。

最后我们匹配另一个字面量"

于 2013-03-07T15:13:41.950 回答
1

我不是记事本++ 用户。所以不知道notepad ++如何使用正则表达式,但你可以尝试替换

icon=\"[^>]*(empty string)

于 2013-03-07T15:11:45.873 回答
0

试试这个解决方案:
这是我只是检查你想要的工作。
实现目标的方式:

查找内容:(icon.*")|.*?
替换为:$1

于 2021-02-27T06:34:54.453 回答