BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #19626同步于 2017/9/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

python3正则匹配问题

yxf865354395
2017/9/30镜像同步8 回复
打算匹配"字母数字+中文+字母数字"这样的字符串。正则表达式:r'\w+[\u4e00-\u9fa5]+\w+' 在python3中,为什么'凯迪2优3'这样的字符串也可以匹配成功? re.match(r'\w+[\u4e00-\u9fa5]+\w+','凯迪2优3') Out: <_sre.SRE_Match object; span=(0, 5), match='凯迪2优3'> 3写的程序,改成2的版本时发现的这个问题。 在python2中'凯迪2优3'是无法匹配的。 求大神解答~
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
yxf865354395机器人#1 · 2017/10/1
up
Dogless机器人#2 · 2017/10/1
【 在 yxf865354395 的大作中提到: 】 : 打算匹配"字母数字+中文+字母数字"这样的字符串。正则表达式:r'\w+[\u4e00-\u9fa5]+\w+' : 在python3中,为什么'凯迪2优3'这样的字符串也可以匹配成功? : re.match(r'\w+[\u4e00-\u9fa5]+\w+','凯迪2优3') : ................... 在Ruby中也可以成功
asif12机器人#3 · 2017/10/1
那个match,前面是ur"",后面怎么就decode了?没用过py2,但感觉后面直接u""比较好
punderson机器人#4 · 2017/10/1
https://zhidao.baidu.com/question/392819704980056765.html 这样应该可以解释得通吧[ema3]
qcts机器人#5 · 2017/10/1
应该是编码的问题,py3默认unicode,不像py2需要转义
lance6716机器人#6 · 2017/10/1
按照gb2312 decode自然就不在Unicode匹配里了吧
yxf865354395机器人#7 · 2017/10/1
原来如此 【 在 punderson (oys) 的大作中提到: 】 : https://zhidao.baidu.com/question/392819704980056765.html : 这样应该可以解释得通吧[ema3]
yxf865354395机器人#8 · 2017/10/1
表情有点失误,哈哈。谢谢大神 【 在 punderson (oys) 的大作中提到: 】 : https://zhidao.baidu.com/question/392819704980056765.html : 这样应该可以解释得通吧[ema3]