在UltraEdit的查找和替换中使用正则表达式
http://tech.ddvip.com 2007年10月31日 社区交流
内容摘要:Ultraedit在使用正则表达式进行查找替换时有两个可使用的语法集合。一个是 UltraEdit 的更早的版本被使用的原来的 UltraEdit 句法。另一个是”Unix”类型的正则表达式,这个集合在ultraedit的默认配置中是没有启用的,需要在配置中找到search项,启用Unix类型的正则表达式。
S 匹配任何非空白的字符,但不匹配换行符。
匹配一个标签TAB字符。
v 匹配一个垂直的标签字符。
w 匹配任何词语字符包括下划线。
W 匹配任何非词语字符字符。
注: ^ 是实际字符 ^不是Ctl + 键值。
例如:
m.n 匹配 “man”,”men”,”min” 但不匹配 “moon”.
t+t 匹配 “test”,”tonight” 和 “tea time” (the “tea t” portion) 但不匹配 “tea
time” (newline between “tea ” and “time”).
Te*st 匹配 “test”,”teest”,” teeeest “等等。但是不匹配 “tst”。
[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。
另外:
p 匹配 CR/LF ( 作为 rn 的一样 ) 作为DOS行结束符匹配
如果查找/替换功能中正则表达式没有选用,则替换字段中下列字符也是有效的:
符号 功能
^^ 匹配一个 “^” 字符
^s 替换为被选择 ( 加亮 ) 活跃的文件窗口的文章。
^c 替换为剪贴板的内容
^b 匹配一个页裂缝
^p 匹配一个换行符 ( CR/LF )( 段 )( DOS 文件)
^r 匹配一个换行符 ( CR 仅仅 )( 段 )( MAC 文件)
^n 匹配一个换行符 ( LF 仅仅 )( 段 )( UNIX 文件)
^t 匹配一个标签TAB字符
下面是我要实现的一段代码查询替换的举例
有这样一段代码分布在各个html文件中
<!-- Copyright ?2005. toplee Ltd -->
<style>
A.applink:hover {border: 2px dotted #DCE6F4;padding:2px;background-color:#ffff00;color:green;text-decoration:none}
A.applink {border: 2px dotted #DCE6F4;padding:2px;color:#2F5BFF;background:transparent;text-decoration:none}
A.info {color:#2F5BFF;background:transparent;text-decoration:none}
A.info:hover {color:green;background:transparent;text-decoration:underline}
</style>
<div style='BORDER: 1px solid #DCE6F4; MARGIN-TOP: 20px; MARGIN-BOTTOM: 20px; MARGIN-LEFT: 5px;
.... 省略若干行....
<!-- /Copyright ?2005. toplee Ltd -->
我要把上面一段代码替换为空,于是编写下面的匹配规则
<!-- Copyright[^!]*[^>]*>
即完成了全部替换。
大家可以在今后的编码中尝试一下Ultraedit的正则表达式查找替换功能,非常简单快捷!
作者:Michael 责编:豆豆技术应用