UE正则表达式语法
% 匹配行首 - 表示搜索字符串必须在行首,但不包括任何选定的结果字符中的行终止字符。
$ 匹配行尾 - 表示搜索字符串必须在行尾,但不包括任何选定的结果字符中的行终止字符。
? 匹配任何除换行符的字符。
如:m?n 匹配“man”、“men”、“min”,但不匹配“moon”。
* 匹配任何除换行符外所出现的任意数量的字符。
如:t*t 匹配“test”、“tonight”和“tea time”中的“tea t”部分,但不匹配“tea
time” (“tea ”和“time”之间有换行)。
+ 匹配一个或多个前面的字符/表达式。必须找到至少一个出现的字符。不匹配重复的换行符。
如:Te+st 匹配“test”、“teest”、“teeeest”等,但不匹配“tst”。
++ 0次或多次匹配前面的字符/表达式。不匹配重复的换行符。
^b 匹配一个分页符。
^p 匹配一个换行符 (CR/LF) (段落) (DOS/Windows 文件)
^r 匹配一个换行符 (仅 CR) (段落) (MAC 文件)
^n 匹配一个换行符 (仅 LF) (段落) (UNIX 文件)
^t 匹配一个制表符
[ ] 匹配任何括号中的单个字符或范围
如:
[aeiou] 匹配每个元音小写字母
[,.?] 匹配文字“,”、“.”或“?”。
[0-9a-z] 匹配任何数字或小写字母
[~0-9] 匹配除数字外的任何字符 (~ 表示不匹配其后的内容)
^{A^}^{B^} 匹配表达式 A 或 B
如:
^{John^}^{Tom^}
这将搜索 John 或 Tom。在两个表达式之间应该没有任何其它内容
^{John^}^{Tom^} ^{Smith^}^{Jones^}
这将搜索后面跟随了 Smith 或 Jones 的 John 或 Tom
注意:^{John^}^{Tom^}和^{Smith^}^{Jones^}有一个空格
^ 忽略其后的正则表达式字符
^(*^) 在表达式加上括号或标签在替换命令中使用。正则表达式中可以有 9 个表达式标签,数字根据它们在正则表达式中的次序确定数字。
相应的替换表达式是 ^x,x 的范围是 1-9。例如: 如果 ^(h*o^) ^(f*s^) 匹配“hello folks”,那么^2 ^1 表示将用“folks hello”替换它。
-----------------------------------------------------
正则表达式搜索技巧 (UltraEdit 语法):
删除空行: 替换 %[ ^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]+