为什么正则表达式[!@#$%^& *()-_ = + \ | \ [{\]};:\'<,。> /?〜`] +匹配数字?

时间:2016-11-14 23:09:22

标签: python regex

有人可以解释以下结果吗?

输入到python 2.7.12 shell

re.match('[!@#$%^&*()-_=+\|\[{\]};:\'<,.>/?~`]+', '2222').group()

输出:

'2222'

我不明白为什么数字符合这个表达式。

1 个答案:

答案 0 :(得分:2)

re.match('[!@#$%^&*()-_=+\|\[{\]};:\'<,.>/?~`]+', '2222').group()
#                   ^^^
括号内的

)-_是字符范围,2在此范围内。