UltraEdit中使用正则表达式

今天我朋友要吧C写的常量定义(#define MAX 0xFFFF)转成java的常量定义(public static final int MAX=0xFFFF;)由于量比较大,又懒得为了一个文件写java代码去处理,所以决定用UltraEdit的正则表达式的功能去替换。
 
我朋友这个要求还是挺方便的只要先将#define 替换成 public static final int  然后将0x^(????^)替换为=0x^1; 这样就搞定了,由于UltraEdit的正则表达式和正统的正则表达式还是有很大的区别,所以转篇 UltraEdit正则表达式文档。
UltraEdit 正则表达式 (UltraEdit Syntax)

符号

功能

%

匹配行首 – 表示搜索字符串必须在行首,但不包括任何选定的结果字符中的行终止字符。

$

匹配行尾 – 表示搜索字符串必须在行尾,但不包括任何选定的结果字符中的行终止字符。

?

匹配任何除换行符的字符。

*

匹配任何除换行符外所出现的任意数量的字符。

+

匹配一个或多个前面的字符/表达式。必须找到至少一个出现的字符。不匹配重复的换行符。

++

0 次或多次匹配前面的字符/表达式。不匹配重复的换行符。

^b

匹配一个分页符。

^p

匹配一个换行符 (CR/LF) (段落) (DOS 文件)

^r

匹配一个换行符 (仅 CR) (段落) (MAC 文件)

^n

匹配一个换行符 (仅 LF) (段落) (UNIX 文件)

^t

匹配一个制表符

[ ]

匹配任何括号中的单个字符或范围

^{A^}^{B^}

匹配表达式 A 或 B

^

忽略其后的正则表达式字符

^(*^)

在表达式加上括号或标签在替换命令中使用。正则表达式中可以有 9 个表达式标签,数字根据它们在正则表达式中的次序确定数字。

相应的替换表达式是 ^x,x 的范围是 1-9。例如: 如果 ^(h*o^) ^(f*s^) 匹配”hello folks”,那么^2 ^1 表示将用”folks hello”替换它。


删除空行: 替换 %[ ^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^~`_./^-^?=&]
注意: 替换的时候需要勾选使用正则表达式选项

posted on 2009-08-21 22:19  木鱼哥  阅读(298)  评论(0编辑  收藏  举报

导航