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