巧用notepad++正则表达式,批量修改删除超链接

因为快要毕业了,最近比较忙,所以没有时间更新博客,首先先向大家道歉。

今天我要带给大家的技巧是用notepad++正则表达式批量修改删除超链接。

前一段时间人机交互课程要我们找好看的网站界面保存下来修改,但另存为的界面往往包含大量的链接,一点又跳转回原始的网页了,而手动去删除链接又是浩大的工程,所以我就想能不能用记事本的replace来批量查找删除链接,但是每个连接的指向又不同,所以不能用统一的关键字,这里就必须用到regular express(正则表达式)了。windows自带的记事本貌似是不支持正则表达式的,我在windows上常用的notepad替代工具是notepad++他是一款优秀的开源记事本软件可以在http://www.notepad-plus-plus.org/下载,当然你也可以用别的notepad工具替代,大同小异啦。



1. 用notepad++打开htm文件,按ctrl+f打开寻找菜单,选择Replace,在左下角点选regular express(不能忘哦)

regexp

2. 输入pattern :在 find what中输
<a href=".*?">

在replace with里面输入你要替换的东西,我要把链接去掉,可以简单的把链接改为"#",就可以填写
<a href="#">

现在来解释一下.*?的意思。 .(dot/点)表示除换行外的任意字符, *(star/星号)表示前一个字符的闭包,也就是前一个字符重复零次或任意次,比如a*就表示a,aa,aaa,aaaa,aaaa.....,.*就是任意字符串。而为什么要加?呢? ?表示只重复0或1次,在这里?可以去除正则表达式的贪婪算法。如果没有?正则表达式将按照最大匹配的字符串。举个例子,比如下面代码:
<a href=“index.htm”>主页</a> <br><a href="news">新闻</a>

如果没有问号<a href=".*">正则表达式匹配到的将是
<a href=“index.htm”>主页</a> <br><a href="news">

而不是我们要的
<a href=“index.htm”>


<a href="news">

这样,通过正则表达式,我们实现了批量修改超链接。

正则表达式是形式语言中非常强力的一个表达工具,它可以通过简单的符号来表示一种语言模式,引入正则表达式为计算机文本处理提供了强力的工具。

 

 

Comments

Post a Comment

Popular posts from this blog

socket close shutdown函数区别

批量在文件头插入

hash表取模技巧