首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python 之 求英语单词复数的 一种兑现方式

2012-12-28 
python 之 求英语单词复数的 一种实现方式#!/usr/bin/evn pythonimport redef GetMatchAndApplyFuncs(str

python 之 求英语单词复数的 一种实现方式

#!/usr/bin/evn pythonimport re;def GetMatchAndApplyFuncs(strPattern, strSearch, strReplace):    def MatchRule(strWord):        return re.search(strPattern, strWord);        def ApplyRule(strWord):        return re.sub(strSearch, strReplace, strWord);        return (MatchRule, ApplyRule);g_tlPattern = (    ('[sxz]$',           '$',  'es'),    ('[^aeioudgkprt]h$', '$',  'es'),    ('(qu|[^aeiou])y$',  'y$', 'ies'),    ('$',                '$',  's')  );g_lsRules = [GetMatchAndApplyFuncs(strPattern, strSearch, strReplace) for (strPattern, strSearch, strReplace) in g_tlPattern];def GetPlural(strWord):    if not strWord:        return "";        for fnMatch, fnApply in g_lsRules:        if fnMatch(strWord):            return fnApply(strWord);        if "__main__" == __name__:    strVal = "exhs";    strPlural = GetPlural(strVal);    print("%s plural ==> %s" %(strVal, strPlural));
?

热点排行