python2 正则表达式匹配中文的问题
写了一个正则表达式要匹配字符串中的两个中文,代码如下:
# coding=utf8
import re
s = '张三一'
r = re.search('[\u4e00-\u9fa5]{2}', s)
print r
结果发现不管怎么测试,r都是None。
后来发现是编码问题。
此处需要将字符串s和正则表达式都变成unicode编码方式才行,如下:
# coding=utf8
import re
s = u'张三一'
r = re.search(u'[\u4e00-\u9fa5]{2}', s)
print r
此时结果正常。估计在python3里边不用这么转换。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步