用户名:  密码:   
您当前的位置:首页 > 其它 >  正则表达式 > 

UltraEdit正则表达式的说明

上次修改时间: 2014-03-31 11:52:14      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\正则表达式\      下一页

UltraEdit正则表达式的说明

因为EditPlus对大文件的支持很关,如超过10M就很慢,故学一下UE的表达式
UltraEdit正则表达式 简称UE

常用表达式:
在行首或行尾加111:替换%为111,或替换$为111
在每行末加上@qq.com:替换^p为^p@qq.com
搜索数字串并在数字字串后加换行符:替换^([0-9]+^)为^1^p
删除空行: 替换 %[ ^t]++^p 为  空串
删除行尾空格: 替换 [ ^t]+$ 为  空串
删除行首空格: 替换 %[ ^t]+ 为  空串
删除以reg delete开头的行:替换%reg delete*$为空
每行设置为固定的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^~`_./^-^?=&]+

UltraEdit风格正则表达式语法
语法集合一:
1、% 匹配一行的开始位置
2、$ 匹配 一行的结束位置。
3、? 匹配一个字符,除“换行符”外。
4、* 匹配任意个任何字符,除“换行符”外。
5、+ 匹配一个或多个所提到的字符或是表达式,至少要出现一次。不匹配重复的“换行符”。
6、++ 匹配零次或是很多次所提到的字符或表达式,不匹配重复的“换行符”。
7、^b 匹配分页符。
8、^p 匹配DOS文件中的换行符。
9、^r 匹配MAC文件中的换行符。
10、^n 匹配UNIX文件中的换行符。
11、^t 匹配一个Tab符。
12、[ ]  匹配在方括号里面的任何单个字符,可以用范围来表示。
13、^{A^}^{B^} 匹配表达式A或表达式B
14、^  后面的正则表达式无效。注:现在使用当中也可以指定行的开头。
15、 ^(…^)   匹配第1个到第9个指定的表达式,并且可以用其序号来变换位置,
如:“hello world”满足表达式“^(h*o^) ^(w*d^)”,而表达式“^2 ^1”就可以把“hello world”替换为“world hello”。

下面举一些简单例子:
m?n 匹配“man”,“men”,“min”不能匹配“moon”。
t*t匹配“test”,“tonight”和“tea time”不能匹配“tea time”(换行符在“tea ”和“time”之间)。
Te+st匹配 “test”,“teest”,“teeeest”等等,不匹配“tst”。
[,。?] 匹配“,”、“。”和“?”中的任意一个
[0-9a-z] 匹配任何一个1-9的数字a到z的小写字母
[aeiou] 匹配每个小写元音。
[,.?] 匹配一文字的 “,”,”.”或 “?”。
[0-9, a-z] 匹配任何数位,或小写字母。
[~0-9] 除了数字以外匹配任何字符 (~符号的意思是表示“非”)
你按如下方式可以查找一个表达式A或 B :
“^{John^}^{Tom^}”
这将在找John或Tom的出现。应该在 2 个表达式之间没有任何东西。
你可以在同一搜索中按如下方式组合A or B and C or D:
“^{John^}^{Tom^}^{Smith^}^{Jones^}”
这将在John or Tom 后面找 Smith or Jones。
小知识: 新的ULTRAEDIT版本中除了传统的正则表达式和UNIX风格的正则表达式以外还有与PERL兼容的正则表达式语法。