灵活利用notepad++查找替换

Notepad++中利用正则表达式替换举例:一次性替换多个文件的后缀

<informalfigure>
    <mediaobject>
        <imageobject role="html"><imagedata fileref="images/env_var/win/right_click_then_property.jpg" align="left" scalefit="0" width="100%"/></imageobject>
        <imageobject role="fo"><imagedata fileref="images/env_var/win/right_click_then_property.jpg" align="center" scalefit="1" width="100%"/></imageobject>
    </mediaobject>
</informalfigure>
......
<informalfigure>
    <mediaobject>
        <imageobject role="html"><imagedata fileref="images/env_var/win/advance_enviroment.jpg" align="left" scalefit="0" width="100%"/></imageobject>
        <imageobject role="fo"><imagedata fileref="images/env_var/win/advance_enviroment.jpg" align="center" scalefit="1" width="100%"/></imageobject>
    </mediaobject>
</informalfigure>

利用notepad++正则表达式要将images/env_var/win/xxx.jpg全部替换为images/env_var/win/xxx.png.

此时可以利用notepad++的正则替换功能。

查找目标 :

images/env_var/win/(\w+)\.jpg

替换为:

images/env_var/win/\1\.png

可以成功替换:

<informalfigure>
    <mediaobject>
        <imageobject role="html"><imagedata fileref="images/env_var/win/right_click_then_property.png" align="left" scalefit="0" width="100%"/></imageobject>
        <imageobject role="fo"><imagedata fileref="images/env_var/win/right_click_then_property.png" align="center" scalefit="1" width="100%"/></imageobject>
    </mediaobject>
</informalfigure>
......
<informalfigure>
    <mediaobject>
        <imageobject role="html"><imagedata fileref="images/env_var/win/advance_enviroment.png" align="left" scalefit="0" width="100%"/></imageobject>
        <imageobject role="fo"><imagedata fileref="images/env_var/win/advance_enviroment.png" align="center" scalefit="1" width="100%"/></imageobject>
    </mediaobject>
</informalfigure>

一次替换多个路径

又比如,由于我把很多jpg,png等类型的图片,从images文件夹移动到了images下面的npp文件夹下了,

所以需要把一个文件中所有的:

images/xxx.yyy

其中xxx为文件名(此处文件名全部都是只包含字母和下划线),yyy=jpg或png,都替换为

images/npp/xxx.yyy

此时,就可以写成:

images/(\w+)\.(\w{3})

images/npp/\1\.\2

比如:

images/abc.jpg
images/gdji.bmp
images/g3ri.png

使用

查找:

images/(\w+)\.(\w{3})`

替换为:

images/npp/\1\.\2

替换后的结果为:

images/npp/abc.jpga
images/npp/gdji.bmp
images/npp/g3ri.png

给每一行都添加特定的前缀

比如,给下列图片格式添加前缀image www.baidu.com/

1.png
2.png
3.png
4.png
5.png
6.png
7.jpg
8.png
9.png
a.bmp
b.png
c.bmp
d.png
e.png
f.png

起初我用的方法是

查找:(\w+)\.\w{3}
替换:image www.baidu.com/\1\.\2

结果替换出来的结果不符合预期:

image www.baidu.com/1.
image www.baidu.com/2.
image www.baidu.com/3.
image www.baidu.com/4.
image www.baidu.com/5.
image www.baidu.com/6.
image www.baidu.com/7.
image www.baidu.com/8.
image www.baidu.com/9.
image www.baidu.com/a.
image www.baidu.com/b.
image www.baidu.com/c.
image www.baidu.com/d.
image www.baidu.com/e.
image www.baidu.com/f.

后来把查找部分修改为:

查找:(\w+)\.(\w{3})

替换的结果与预期相同,原因是把查找的第二个串用括号括起来就可以了。

image www.baidu.com/1.png
image www.baidu.com/2.png
image www.baidu.com/3.png
image www.baidu.com/4.png
image www.baidu.com/5.png
image www.baidu.com/6.png
image www.baidu.com/7.jpg
image www.baidu.com/8.png
image www.baidu.com/9.png
image www.baidu.com/a.bmp
image www.baidu.com/b.png
image www.baidu.com/c.bmp
image www.baidu.com/d.png
image www.baidu.com/e.png
image www.baidu.com/f.png

转自:https://www.crifan.com/files/doc/docbook/rec_soft_npp/release/webhelp/npp_func_regex_replace.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值