Bacysoft.cn

标题: 如何使用正则表达式批量替换URL?(Editplus版) [打印本页]

作者: bacy001    时间: 2012-3-21 22:00
标题: 如何使用正则表达式批量替换URL?(Editplus版)
本帖最后由 bacy001 于 2012-3-21 22:04 编辑

我们在做文本编辑的时候,经常会碰到需要批量替换URL的情况,而文本文件中的URL都是不一样的,手动去修改肯定是一件费时费力的事情,而且非常容易出错!一般来说,这种情况就是正则表达式大显身手的时候了!请看本站的实例!

本例使用的文本编辑工具是:Editplus Ver 2.31
原始文件:http://www.bacysoft.cn/list.html
需求:将此文件中的URL变成超链接

先说明下,这个文件主要用来方便站长发外链,后来发现还需要一个超链接版本,于是有了本例。
打开 http://www.bacysoft.cn/list.html 源代码,可以看到很多这样的内容:
  1. [图解]双网卡内外网路由配置指导
  2. http://www.bacysoft.cn/home-space-uid-2-do-blog-id-62.html
复制代码
  1. <p><b>[图解]双网卡内外网路由配置指导</b><br/>http://www.bacysoft.cn/home-space-uid-2-do-blog-id-62.html</p>
复制代码
目标文本:
  1. <p><b>[图解]双网卡内外网路由配置指导</b><br/><a href="http://www.bacysoft.cn/home-space-uid-2-do-blog-id-62.html" target="_blank" >http://www.bacysoft.cn/home-space-uid-2-do-blog-id-62.html</a></p>
复制代码
以下是操作过程:
1、打开Editplus,并加载“list.html”;
2、按 Ctrl+H 打开替换窗口;
3、在查找文本框中输入:“(http://www.bacysoft.cn/.*html)”;
4、在替换文本框中输入:“<a href="\0">\0</a>”;
5、点击全部替换;
6、保存搞定!

有图为证:


几点说明:
1、替换文本中框的 “\0” 表示查找文本框中“()”中的内容;
2、“.” 用来表示任意字符;
3、“*” 用来表示前面的字符重复0到无数次
整个意思就是,查找所有 由“http://www.bacysoft.cn/” 开头,并由 “html” 结尾的所有字符串!并将其作为超链接“href”参数的值和锚文本的内容。

修改后得到的超链接版本:http://www.bacysoft.cn/myroom/list.html
本例完!




欢迎光临 Bacysoft.cn (http://bacysoft.cn/) Powered by Discuz! X3.3