Notepad++ 与正则表达式使用

它与前日提到的 SciTE 都使用了 Scintilla 作为编辑组件,在 Windows 平台的自由文本编辑器中可谓出类拔萃。其特色于官方网站介绍详尽,图文并茂,此处不再赘述。
昨天卖了个关子,今天就在此略微探讨一下正则表达式。
眼下已经有了各公司的代码文件,000002、000006……排成一列,要想变成 <a href="网页地址?code=公司代码">公司代码</a>,该如何做呢?为了简便起见,就用 URL 三个字符代替网页地址。
用 Notepad++ 打开公司代码文件,把光标移至开头(快捷键为 Ctrl+Home),选择 Search 菜单中的 Replace...(快捷键为 Ctrl+H),打开 Replace 对话框。在 Find what 中输入“(.+)”(没有引号,而且都是半角符号),在 Replace with 中输入“<a href="URL?code=/1">/1</a>”,切记要选择 Regular expression 选项,然后按 Replace All 按钮。几百行公司代码转瞬间就会被替换成所需的格式。
那么,为什么用“(.+)”就可以选择一行代码呢? “/1”又是做什么的呢?
首先需要说明一点,Notepad++ 的正则表达式是以行为单位的。在查找表达式中,“.”表示任意字符;“+”表示匹配 1 次或多次,比如,ab+c 可以匹配 abc,abbc,abbbc 等;圆括号“(”和“)”分别为匹配区域的起始和结束。由此可知,“(.+)”可以匹配任何一行内容。
在替换表达式中,“/1”表示第一个匹配区域所匹配的内容,依此类推,“/n”表示第 n(可取 1-9)个匹配区域所匹配的内容。将匹配的内容代入,就得到了所需的格式。通过“/n”可以改变查找字符串的顺序,并创造出新的组合,大有用处。
正则表达式极为灵活,要做此事还有许多其他方法。比如,在查找处可以输入“[0-9]+”,亦可达到同样的效果。这里方括号“[]”表示符号集合,“[0-9]”表示 0 至 9 这十个数字中的任何一个,而“[0-9]+”则表示全部为数字的一行。
正则表达式功能强大,若能恰当使用,可事半功倍。有兴趣的话,可以参考一下 Notepad++ 的正则表达式帮助。

(0)

相关推荐

  • Notepad++快捷键&正则表达式替换字符串&插件使用介绍

    Notepad++绝对是windows下进行程序编辑的神器之一,要更快速的使用以媲美VIM,必须灵活掌握它的快捷键,下面对notepad++默认的快捷键做个整理(其中有颜色的为常用招数): 1. 文件 ...

  • Notepad++使用正则表达式替换字符串(索引=内容)

    待替换的文本: 复制代码 代码如下: <link rel="stylesheet" title="Default" href="styles/default.css"> <link ...

  • Notepad++怎么删除空行

      Notepad++怎么删除空行 第一种方法:不需要使用正则表达式,使用系统自带的功能即可实现 第二种方法:通过正则表达式 1.\r\n转义符替换 按ctrl+h,跳出搜索替换框,把查找模式定义为扩 ...

  • Notepad++ 删除空行的多种实现办法

    一直以来都是使用editplus的正则替换各种,这么多软件正则都略有差别.据说notepad++免费而且功能强大,大量第三方插件,更是如虎添翼.最近我们小编会针对notepad++增加一些教程.由于n ...

  • notepad++正则表达式 字符串详解

    正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它 能很好提高工作效率。 文本编辑器 Notepad++ ...

  • notepad++怎么查找并提取图片网址?

    在做网页设计时或转载一些文章时,我们需要把除图片外的所有内容删除,只留下图片,我们可以通过查看源码,用notepad++来实现 1.这个网页为例 2.多数浏览器都支持查看源码功能,在网页空白处右击,查 ...

  • Notepad多行文本行首怎么添加文字?

    Notepad++编辑一段很多行的文本的时候,如果想在每行行首添加新文本,一行一行添加太麻烦,浪费时间,怎么批量在多行行首添加文本的教程. 1.首先,用Notepad++打开需要操作的文本.依次点击菜 ...

  • Notepad++对txt文本替换换行符

    从网上搜到很多,都是用word打开txt然后进行替换操作,然而需要这么麻烦吗?Notepad++和UE是非常好的文本编辑器,是代码工作人员的神器,我们是否能通过Notepad++实现换行操作呢?毕竟在 ...

  • Notepad++ 删除空行[不用正则]

    删除空行还是蛮常用的技巧。在Notepad++中很简单就可以实现了: 先选中要删部分文本内容,如果是整个文件那就全选Ctrl+A 然后点下图这蓝色选中项: 现在还不知道如何删除有空格的“空行”(一行内 ...