`

notepad++学习笔记 之 正则表达式(原创、翻译)

阅读更多

 

 

按《程序员修炼之道》 书中提到,熟练掌握一种文本编辑器,本人比较认同,所以有了这篇文章。

 

因为Notepad++项目是基于另一个开源编辑器Scintilla,所有关于Scintilla 的正则表达式也同样适用Notepad++。

 


第一部分:要开始用正则表达式前,必须了解特殊字符列  

 

正则表达式的特殊字符列表如下:

    匹配任意字符

    标记域的开始符(具体使用可参见例子)

    标记域的结束符(具体使用可参见例子)
\n
    n可以是1到9 代表正在替换的第一到第九的标记域
\<
    匹配Scintilla定义的单词的开始
\>
    匹配Scintilla定义的单词的结束
\x
    转义符. 例如, \[ 表示 [ 而不是字符集(character set)的开始符.
[...]
    字符集(character set), 例如, [abc] 代表字符 a, b or c. 也可以使用范围, 如 [a-z] 代表所有小写字母
[^...]
    非字符集中的字符. 例如, [^A-Za-z] 代表处理大小写字母以外的字符
^
    行开始符
$
    行尾符
*
    匹配0次或多次. 例如, Sa*m 匹配 Sm , Sam , Saam , Saaam等等.
+
    匹配1次或多次. 例如, Sa+m 匹配 Sam , Saam , Saaam and 等等.


第二部分:五个例子

例子1:
目标:如何把 Fred2XXX 替换成 Sam2YYY
技巧:搜索 Fred([1-9])XXX 替换成 Sam\1YYY

例子2:
目标:把 == title == 替换成 = title =
技巧:分两步:1, 搜索 ^=(=) 替换成 \1 ;2, 搜索=(=)$ 替换成\1。

例子3:
目标:把德国日期格式(dd.mm.yy) 转换成(yy-mm-dd)格式。
技巧:搜索 ([^0-9])([0123][0-9])\.([01][0-9])\.([0-9][0-9])([^0-9]) 替换成\1\4-\3-\2\5
    *  31.12.97 became 97-12-31
    * 14.08.05 became 05-08-14
    * the IP address 14.13.14.14 虽然匹配,但是要小心不要改变

例子四:
目标:在一个目录中通过命令 dir /b/s > filelist.txt,修改文件中的\为/,并加上前缀file:///。
技巧:分两步:1, 搜索 \\ 替换为 /  ;2, 搜索 ^(.*)$  替换为 file:///\1

例子五:(英文原文中,这个例子有误,我这里修正了)
目标:把文中的空格替换成,
[Data]
EU AX ALA 248 ?and Islands
EU AL ALB 008 Albania, People's Socialist Republic of
AF DZ DZA 012 Algeria, People's Democratic Republic of
OC AS ASM 016 American Samoa
EU AD AND 020 Andorra, Principality of
AF AO AGO 024 Angola, Republic of
NA AI AIA 660 Anguilla
AN AQ ATA 010 Antarctica (the territory South of 60 deg S)
NA AG ATG 028 Antigua and Barbuda
SA AR ARG 032 Argentina, Argentine Republic
AS AM ARM 051 Armenia
NA AW ABW 533 Aruba
OC AU AUS 036 Australia, Commonwealth of

[Final Data]
EU,AX,ALA,248,?and Islands
EU,AL,ALB,008,Albania, People's Socialist Republic of
AF,DZ,DZA,012,Algeria, People's Democratic Republic of
OC,AS,ASM,016,American Samoa
EU,AD,AND,020,Andorra, Principality of
AF,AO,AGO,024,Angola, Republic of
NA,AI,AIA,660,Anguilla
AN,AQ,ATA,010,Antarctica (the territory South of 60 deg S)
NA,AG,ATG,028,Antigua and Barbuda
SA,AR,ARG,032,Argentina, Argentine Republic
AS,AM,ARM,051,Armenia
NA,AW,ABW,533,Aruba
OC,AU,AUS,036,Australia, Commonwealth of

技巧:搜索 ([A-Z]+) ([A-Z]+) ([A-Z]+) ([0-9]+) (.*)  替换为 \1,\2,\3,\4,\5

 

原始网址:How to use regular expressions in Notepad++

3
0
分享到:
评论
1 楼 lahvey 2011-09-08  
说是支持Posix正则,实际上很多不支持,比如数量匹配{}

相关推荐

    正则表达式在notepad++中的使用.docx

    验证正则表达式在notepad++工具中的使用情况,主要用于内容较多的日志文件的内容整理和归类。提高处理效率。

    正则表达式学习心得 v1.0

    本文主要介绍了正则表达式方面学习的心得,包括Python,C#,PHP,Notepad++,Javascript等方面的使用心得,以及总结了各个语言间正则表达式的区别。

    notepad正则表达式使用

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

    Notepad++安装包

    Notepad++中文版是一款非常有特色的编辑器,是开源软件,可以免费使用。 Notepad++中文版是 Windows操作系统下的一套文本编辑器(软件版权许可证: GPL)。Notepad++有完整的中文化接口及支持多国语言编写的功能(UTF8...

    SQL 语法分析,正则表达式解析C#文件;正则表达式实现的语法分析引擎

    一些资料关于 SQL 语法分析;用正则表达式解析C#文件;使用正则表达式实现的语法分析引擎(C#源代码) ;SQL Server 2005正则表达式使模式匹配和数据提取变得更容易;

    notepad++ 等用正则表达式自动添加sql引号的技巧

    本篇文章给大家介绍notepad用正则表达式自动添加sql引号的技巧,,需要的朋友可以参考下

    Notepad++_v7.8.5_Modify_Lfqy_Setup.7z

    Notepad++_v7.8.5的安装包,Notepad++_v7.8.5的安装包,Notepad++_v7.8.5的安装包,Notepad++_v7.8.5的安装包,Notepad++_v7.8.5的安装包,Notepad++_v7.8.5的安装包,Notepad++_v7.8.5的安装包,Notepad++_v7.8.5的...

    Notepad++ 64位 ComparePlugin 插件下载

    对比两份文本异同的Notepad++ 64位插件。网上资源大多是针对32位的,这里提供一份64位的,实测可用在v7.2.3版本的Notepad++上。把压缩包中ComparePlugin.dll放入Notepad++的安装路径根目录即可。启动Notepad++自动...

    notepad++主题文件

    notepad++主题文件notepad++主题文件notepad++主题文件notepad++主题文件notepad++主题文件notepad++主题文件notepad++主题文件notepad++主题文件notepad++主题文件notepad++主题文件notepad++主题文件notepad++主题...

    Notepad++Mac版怎么安装?.docx

    "Notepad++ Mac 版安装指南" Notepad++ 作为一个功能强大且广泛应用的文本编辑器,在 Windows 平台上拥有极高的用户基础。然而,对于 Mac 用户来说,官方并未提供 Notepad++ 的 Mac 版本,引发了广泛的讨论和需求。...

    NotePad++常用插件集合

    使用方法:将下载得到的plugins zip解压到notepad++安装根目录下覆盖原来的plugin文件夹即可 示例路径:D: Program Files x86 Notepad++ plugins"&gt;这个压缩文件包含了notepad++的一些常用插件 包括热门插件compare ...

    notepad、editplus等软件常用的文本整理正则表达式

    文本整理仅仅是用记事本... 您可能感兴趣的文章:EditPlus 正则表达式 实战(3)EditPlus中的正则表达式 实战(2)EditPlus中的正则表达式 实战(1)EditPlus中的正则表达式实战(5)EditPlus中的正则表达式实战(6)php和editplus

    NOTEPAD++正则法则:第一个和最后一个

    文章将为大家展示如何在NOTEPAD++中,将每行中的第一个/最后一个逗号替换为其它字符。其掌握的要点有三点:1,关键是要用好“非贪婪”限定符“?”;2,分组限定符“()”;3,分组保留用法。

    Notepad++ 插件集合(共52个)

    Notepad++ 插件集合(共52个),适用于32位Notepad++(含部分64位),下载插件,将zip文件解压后的dll文件放到Notepad++安装目录下的plugins目录,重启Notepad++,点击菜单--插件,即可看见安装的插件。

    notepad++下vim插件

    notepad++下使用vim操作方式,由于notepad++下的插件管理中visimulator安装不了,所以可以离线安装。下载之后,放在notepad++安装目录的plugins中,重启notepad++即可。

    Notepad++ 文本阅读器

    它支持多种编程语言,并具有语法高亮显示、语法折叠、自动完成、宏录制、正则表达式搜索替换等功能。Notepad++ 还提供了分屏编辑、书签、括号匹配等实用工具,使用户更加高效地编辑文本文件。此外,它还支持插件系统...

    Notepad++ 7.8.1 release

    Notepad++是免费开源的文本编辑器和记事本替代品,支持多种语言。运行在微软的Windows系统中。

    Notepad++ 7.9.2

    Notepad++ 7.9.2

    Notepad++一键格式化php代码.rar

    1、下载完之后 我们把解压到的两个文件 放到\Notepad++\plugins(安装目录的plugins下) 2、然后重启 Notepad++ 3、按F5,或者Notepad++菜单-&gt;运行(R)-&gt;运行(R).. 4、输入:$(NPP_DIRECTORY)\plugins\phpCB.BAT ...

    notepad++下PythonScript插件

    写在前面:该插件可以直接在notepad++插件管理器中安装,如果安装完之后,运行出现: Unknown exception和python script plugin did not accept the script的报错提示,一般在window7/8/10 64位系统报错。...

Global site tag (gtag.js) - Google Analytics