请问可以想jieba一样更换内部的正则吗
Opened this issue · 3 comments
RoversCode commented
请问可以想jieba一样更换内部的正则吗
franklucky001 commented
@RoversCode 方便给出示例代码?描述清楚一点
RoversCode commented
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)
我想知道,你有提供更换正则的接口吗。
franklucky001 commented
@RoversCode 改也是可以的,但是需要fork原始jieba_rs仓库, 更新项目依赖。原作者最近不怎么维护了,我提的Issue也没有反馈。等空闲我会改一下相关问题