这个小代码是用来识别中文单词的。它主要起作用,但在某些情况下有一些问题,第一个词是𩾃鱼' 这就是一个例子
re_default = re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._%\-]+)", re.U)
words1 = re_default.split('𩾃鱼')
words2 = re_default.split('兰蔻')
输出为:
['𩾃', '鱼', ''] ['', '兰蔻', '']
似乎第一个字是𩾃鱼' 不在定义的代码范围内。我想把它一分为二兰蔻'. 如何找到合适的范围并在正则表达式中容纳它
如评论中所述,您只指定了汉字的多个范围中的一个
可以使用8位六位数Unicode转义指定更高的CJK范围。范围列在Unicode 14.0 Character Code Charts中。以下包括所有CJK统一表意文字扩展:
输出:
相关问题 更多 >
编程相关推荐