今天我朋友要吧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)
(注意: 此处假定文本是以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^~`_./^-^?=&]
注意: 替换的时候需要勾选使用正则表达式选项