Monday, February 14, 2022

Notepad++ 利用正则表达式来进行搜索和替换的一些例子

Notepad++ 是一个开源文本编辑器,大大强于 Microsoft Windows 自带的 Notepad,可以说是最受欢迎的免费软件之一。

编辑或者清理复杂的文本,往往需要用到正则表达式,Notepad++ 支持利用正则表达式来进行搜索和替换文本内容。

这篇文章举了很多十分常用的例子:Using Regex to find and replace text in Notepad++

请首先学习最基本的正则表达式的知识,这个教程是我长期的参考资料。 

Wikiepedia 的词条也可作参考。

+++++

第一个例子

>[ \t]+<

< 代表小于号

> 代表大于号

≤ 代表小于等于号

≥ 代表大于等于号。可以看这个讨论

至于 []、空格、\t、+ 都是正则表达式里的最基本知识,不在这里介绍了。

就是将 > 和 < 两个符号之间的空格和制表符去掉。

+++++

第二个例子

(.)$ 取一行的最后一个字符,用 $1 变量来获得起内容。这个点号十分重要,这里有解释。$ 表示行结束位置。

+++++

第三个例子

^[ \t]*$\r?\n*

这里用 * 而不是 +,是有细微的差别的,而 ? 是 0 或者 1 次匹配。\r 回车。\n 新行。

+++++

第四个例子很简单,不解释了。

+++++

第五个例子

\b(\w+)\s+\1\b

\b 单词边界。\w 表示字母。\s 空格和制表符。\1 匹配之前的 () 里的内容。

+++++

第六个例子

[^ ] 也是很有意思的用法。查 Wiki 词条里的表。

+++++

第七个例子

知识在上面的例子中都用到了。需要说明的是,如果行尾有空格或者制表符等就没作用,所以需要先清理掉 行尾的空格或者制表符。

+++++

其它例子就更复杂了,需要用到的时候请查询。

No comments:

Post a Comment