Andy's Blog » » Editplus 正则表达式应用的小体会

Editplus 正则表达式应用的小体会

1.在汉化的时候,是否经常碰到这样的语句需要翻译:

Code:

"Error adding the post!";
"Error adding the comment!";
"Error adding the user!";

如果有很多类似的文件一个一个翻译显然很累而且感觉很无聊。

其实可以这样处理,在Editplus里面用 替换 功能,在替换对话框选中“正则表达式”复选框:
查找原文件:

Code:

"Error adding ([^!|"|;]*)

替换成:

Code:

"在增加\\1时发生错误

这样替换之后发生了什么?结果是:

Code:

"在增加the post时发生错误!";
"在增加the comment时发生错误!";
"在增加the user时发生错误!";

ok,接下来你会怎么做?当然再替换一次把the post、the comment、the user替换成你要翻译的词。得到最后的结果:

Code:

"在增加帖子时发生错误!";
"在增加评论时发生错误!";
"在增加用户时发生错误!";

2.要提取的单词在中间,比如:

Code:

can not be deleted because
can not be added because
can not be updating because

可以用这种方式:
在Editplus里面用 替换 功能,在替换对话框选中“正则表达式”复选框:
查找原文件:

Code:

can not be ([^ ]*) because

替换成:

Code:

无法被\\1因为

这样替换之后发生了什么?结果是:

Code:

无法被deleted因为
无法被added因为
无法被updating因为

其余步骤如上。

在汉化量很大而且句式比较单调的情况下对效率的提高很明显!

解释一下:

([^!|"|;]*)

的意思是 不等于 ! 和 " 和 ; 中的任何一个,意思就是这3个字符之外的所有字符将被选中(替换区域);
\\1 即被选中的替换区域所在的新位置(复制到这个新位置)。

3.经常手工清理一行一行地删除文本文件里面的空白行,其实可以交给Editplus更好的完成,在Editplus里面用替换功能,在替换对话框选中“正则表达式”复选框:
查找原文件:

Code:

^[ \\t]*\\n

替换部分为空就可以删除空白行了,执行一下看看:)

Incoming search terms:

Tags:

本文地址: http://blog.21andy.com/20051005/101.html

1 评论 to “PHP开源CMS之MODx”

  1. OII 于 2005-10-05 11:20:56 发表:

    seen

    签名:My Blog
    http://xiangtool.nease.net