返回信息流======================
功能
======================
根据模式字符串找出所有符合的英文单词(当然不仅限英文单词,跟构建词典时用的数据有关) 例如
a*b
a*b :
->abomb
->absorb
->adlib
->adsorb
->adverb
->alb
->aplomb
->arab
->atombomb
=======================
基本算法
=======================
首先将模式字符串分解为前缀字符串和后缀字符串,
用前缀字符串去跑trie树,得到所有匹配的结果,
从每个结果的结尾抽取长度为length(后缀字符串)的字符与后缀字符串进行比较,
如果不相同则舍弃,如果相同则对结果和模式字符串进行通配符匹配。
总的来说:前缀trie树剪枝-->后缀字符串比较剪枝-->通配符匹配
=======================
第三方库
=======================
trie树使用dawgdic库,通配符匹配使用wildcards库
======================
使用方法
======================
首先checkout第三方库
mkdir libs
cd libs
mkdir lib-32-thirdparty
cd lib-32-thirdparty
svn co http://silwings.gicp.net/repos/libs/lib-32-thirdparty/dawgdic
svn co http://silwings.gicp.net/repos/libs/lib-32-thirdparty/wildcards
cd ../../
svn co http://silwings.gicp.net/repos/wcdict
cd wcdict
make
./wcdict wcdict.dic
=====================
词典构建
=====================
二进制词典使用dawgdic-build构建
chmod u+x ../libs/lib-32-thirdparty/dawgdic/tools/dawgdic-build
../libs/lib-32-thirdparty/dawgdic/tools/dawgdic-build -g <输入文件> xxxx.dic
输入文件格式为按行存放的词条(英文单词或中文)
这是一条镜像帖。来源:北邮人论坛 / soft-design / #37934同步于 2010/4/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
支持通配符的英文字典
coolwc
2010/4/5镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
chong bai !
【 在 coolwc (小包) 的大作中提到: 】
: ======================
: 功能
: ======================
: ...................