本地环境为python3.7,今天偶然发现一个正则匹配问题,不清楚是什么原因造成,具体如下:
首先在python环境中运行
import re
string=‘token:124312abc1b2a3c3d3f1b中文汉字'
a = re.findall('token\W([\d|\w]*)',string)
print(a)
匹配结果为:
['124312abc1b2a3c3d3f1b中文汉字']
下图为网上在线匹配的结果
还有在精易编程助手上测试,匹配结果也是没有中文字符的,所以我想问下是python环境问题还是其他什么问题呢
python3 中re默认支持的是unicode字符集,也支持汉字
如果要让\w仅支持英文,加个re.A标志
re.findall('token\W([\d|\w]*)', 'token:124312abc1b2a3c3d3f1b中文汉', re.A)