franklucky001/fast_jieba

请问可以想jieba一样更换内部的正则吗

Opened this issue · 3 comments

请问可以想jieba一样更换内部的正则吗

@RoversCode 方便给出示例代码?描述清楚一点

        symbols = ":;@°=%+℃()’C(ē\.\*-ÉÓ'·éïÏéééō&èÈ!\&\|··™Ö.áäü!́Λ\=\⁺.の•'\:‘öß)ÄÄ`öä·,³﹒óÄÇê'ÉÜÜ·ØÚ’'’’\﹢\'à\~㜆"
        #re.U  unicode匹配,重写jieba的汉字正则
        re_han = re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._%\-{}]+)".format(symbols), re.U)
        #重写jieba_posseg对于汉字的正则,加了一些符号
        re_han_internal = re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._%\-{}]+)".format(symbols), re.U)
        #替换掉jieba的正则
        jieba.re_han_default = re_han
        #词性标注的正则
        #import jieba.posseg as pseg
        pseg.re_han_internal = re_han_internals

这是替换了jieba分词和pseg的正则示例。jieba出了这些还有其他内部正则可以替换比如,pseg中的

re_han_detail = re.compile("([\u4E00-\u9FD5]+)")
re_skip_detail = re.compile("([\.0-9]+|[a-zA-Z0-9]+)")
re_han_internal = re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._]+)")
re_skip_internal = re.compile("(\r\n|\s)")

re_eng = re.compile("[a-zA-Z0-9]+")
re_num = re.compile("[\.0-9]+")

re_eng1 = re.compile('^[a-zA-Z0-9]$', re.U)

我想知道,你有提供更换正则的接口吗。

@RoversCode 改也是可以的,但是需要fork原始jieba_rs仓库, 更新项目依赖。原作者最近不怎么维护了,我提的Issue也没有反馈。等空闲我会改一下相关问题