UltraEdit-正则表达式

作者:聂勇 欢迎转载,请保留作者信息并说明文章来源!

在软件开发过程中,在Windows下少不了要和UltraEdit打交道,如:查看/分析日志,编写脚本。经常会用到它的查找/替换功能,对于复杂一点的查找/替换就不能不用正则表达式。

正则表达式

表达式 描述
% 匹配行首
$ 匹配行尾
? 匹配除换行符外的任一单个字符
* 匹配任意个数的字符出现任意次数(不包括换行符)
+ 匹配前导字符或者表达式出现一次或者更多次(不包括换行符)
++ 匹配前导字符或者表达式不出现或者出现一次以上(不包括换行符)
^b 匹配页中断符
^p 匹配DOS文件的换行符
^r 匹配MAC文件的换行符(CR Only)
^n 匹配UNIX文件的换行符 (LF Only)
^t 匹配一个制表符
[ ] 匹配方括号中的单个的字符

示例

删除空行:替换 %[ ^t]++^p 为 空串
删除行尾空格:替换 [ ^t]+$ 为 空串
删除行首空格:替换 %[ ^t]+ 为 空串
每行设置为固定的4个空格开头:替换 %[ ^t]++^([~ ^t^p]^) 为 “ ^1”
每段设置为固定的4个空格开头:替换 %[ ^t]+ 为 “ “ (如果一行是以空格开始的,则视之为一段的开始行)
将一段合并为一行:替换 [ ^t]++^p^([~ ^t^p]^) 为 ^1 (注意: 此处假定文本是以DOS方式回车换行 - CR/LF)
去掉HTML TAG: 替换 ^{<>^}^{<^p>^} 为 空串
删除HTML中的所有<A>:替换 <[ ]++a
[ ]++href[ ]++=*> 为 空串
删除文本中指定的前2列字符:替换 %?? 为 空串
在第4列后插入2列空白字符:替换 %^(????^)^(?^) 为 “^1 ^2”
查找所有的数字:[0-9]+[.]++[0-9]+
查找所有的单词:[a-z]+
查找所有的网址:http://[a-z0-9^~`_./^-^?=&]+

注意:替换的时候建议勾选使用正则表达式选项。不过,在UltraEedit 13中不勾选正则表达式部分表达式也可以正常执行。