MadGoat's Blog

导航

UltraEdit中正则替换

UltraEdit中正则替换

  网上已经有很多关于UltraEdit正则的文章了,但基本上都是UltraEdit的帮助文档的内容,对于如何进行用正则表达式进行批量替换并无详细说明。在开发中我们经常要进行某种规则的替换,这里就要用到UltraEdit强大的正则功能。
  UltraEdit支持两种风格的正则表达式,1.“UltraEdit风格正则表达式”,2.“UNIX 样式正则表达式”,默认为“UltraEdit风格正则表达式”,我们一般要用的是UNIX 样式正则表达式,所以需要在UltraEdit的“高级”菜单中选择“配置”,在“搜索”页中选择“UNIX 样式正则表达式”即可。

对于UNIX 样式正则表达式如何编写可以查看相关文档,在此列出帮助参考:

表1.常用的特殊代码
代码/语法 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

表2.常用的量词
代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

表3.常用的反义代码
代码/语法 说明
\W 匹配任意不是字母和数字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符


案例:某文件中有相当多"news1.xxx.com/1231,60983.html" 形式的链接,需要将该形式中的news1改为news2,其它形式的不去改变。
替换方法:
在UltraEdit“搜索”菜单中选择“替换”,勾选上“正则表达式”,在“查找”输入框中输入
news1.xxx.com/(\d+),(\d+).html
在“替换”输入框中输入
news2.xxx.com/\1,\2.html 
点“全部替换”即可对文档中所有此形式的字串全部替换。当然,如果要用正则批量替换某个目录中此形式的字串,只需要在UltraEdit的“搜索”菜单中选择“在文件中替换”,炮制以上方法即可。

posted on 2007-03-15 11:11  MadGoat  阅读(925)  评论(0编辑  收藏  举报