妙用正则表达式,自定义词库导入搜狗五笔

有搜狗拼音词库作为后盾的”搜狗五笔”最近非常引人注目,很多其它五笔输入法的用户都有跃跃欲试的冲动,可问题随之而来,原先输入法中的自定义词组,该如何导入搜狗五笔呢?要知道搜狗五笔的词库文件是bin格式,而其它五笔输入法导出的自定义词库大都是txt格式。

办法嘛,还是有的。右击搜狗五笔的工具条,进入”设置属性→ 高级→自定义短语设置”,在打开的对话框中单击”直接编辑配置文件”按钮,系统会打开一个名为phrases.ini的文件,在里面可以定义如下所示格式的短语,当输入逗号前的编码时,等号后的内容即会上屏。

exzm,1=e心之梦

mywz,1=http://www.lugede.cn

导入极点五笔的用户词库

第一步:右击极点五笔的工具条,进入”管理工具→词库生成与维护”,在打开的”极点词库工具箱”中单击”用户词库”下的”导出”按钮,将会导出用户词库”freeime_user.txt”,将之打开,会发现下面所示格式的文本:

kwrq 路个的

npsp 心之梦 心之梦工作室

第二步:用EmEditor(下载地址:http://www.crsky.com/soft/7180.html)打开导出的词库,单击”搜索→替换”(要注意下面的内容均不包括引号),在打开的对话框中勾选”使用正则表达式”。接下来查找”([a-z]{1,4}) ([^a-z ]*|n) ([^a-z ]*|n) ([^a-z ]*|n) ([^a-z ]*|n) ([^a-z ]*|n) ([^a-z ]*|n) ([^a-z ]*|n) ([^a-z ]*|n)”(要注意括号之间有空格)全部替换为”1,1=2n1,2=3n1,3=4n1,4=5n1,5=6n1,6=7n1,7=8n1,8=9n”(这一步为转换多行词条);然后将”(?<=[a-z])( )”全部替换为”,1=”(这一步是转换单行词条);最后将”^([a-z]*)([^a-z]*$n)^ ([^a-z]*$)”全部替换成”121,9=3″(这一步是转换序号大于8的剩余词条);(如图1)

图1.替换前后文本对比

第三步:将上一步中处理好的文本复制(注意要先去掉首尾不符合格式的注释内容)并粘贴到搜狗五笔的自定义短语配置文件phrases.ini的末尾,然后保存退出。

现在再切换到搜狗五笔,是不是已经可以使用在极点五笔中自定义的词组了呢?(如图2)

图2.用极点五笔的编码在搜狗五笔中快速打出箭头

导入极品五笔的用户词库

第一步:右击极品五笔的工具条,单击”手工造词→导出”,即可将用户词库导出为C盘根目录下的mycz..txt,其内容为如下所示格式。

路个的kwrq

心之梦工作室npsp

第二步:与前面的类似,只不过查找和替换的内容要改为”([^a-z]*)([a-z]*)”和”2,1=1″

第三步:同上。

导入万能五笔的用户词库

第一步:单击”自造词管理→导出词库”,在打开的对话框中输入路径如”C:user_add.txt”后确定导出,其内容格式如下:

zzzz’ 造词样例

kwrq 路个的

lugede 路个的

lgd’ 路个的

npsp 心之梦工作室

xinzhimenggongzuoshi 心之梦工作室

xzmgzs’ 心之梦工作室

第二步:首先我们要去掉多余的拼音词库(黑底白字部分),在EmEditor中查找”^([a-z’]{5,}|[a-z’]{0,3})[^a-z]*$n”全部替换成””(空白),接着再将” “(空格)全部替换为”,1=”,这样就可以将之转换为搜狗字库的格式。

小提示:其它五笔输入法的自定义词库也可以用这样的方法导入到搜狗五笔中,不过正则表达式的写法可得要自己琢磨了哦。

声明:本文刊于《计算机应用文摘》2009年第4期,版权所有,不得商业转载,个人转载请注明转自本博客,以避免引起不必要的麻烦。

妙用正则表达式,自定义词库导入搜狗五笔》有8个想法

  1. 之前一直用极点,换工作后,只能用搜狗五笔想导入自定义词库太麻烦,找了半天终于找到这个的。。。不过我按照这个操作来没有成功,然后自己用Excel中的VBA进行处理了下就ok了!哈哈,还是谢谢楼主

  2. 我是直接用C#写个程式转的,花了一晚上,结果发现词条太多搜狗非常慢,而且没有自定义的短语编码逐渐提示的功能……
    浪费了我一晚上的时间,最后还是用回极点……

发表回复

邮箱地址不会被公开。 必填项已用*标注