正则表达式不符合我想要的方式

时间:2012-03-21 13:23:59

标签: python regex

嗨,我是regexes的新手。

我有一个字符串,我希望匹配任意数量的A-Z a-z 0-9 - 和_

我在python中尝试了以下内容,但它始终匹配,即使是空白空间。有人可以告诉我为什么会这样吗?

re.match(r'[A-Za-z0-9_-]+', 'gfds9 41.-=,434')

2 个答案:

答案 0 :(得分:4)

您的正则表达式匹配一个或多个这些字符。您的文字以一个或多个字符开头,因此匹配。如果您希望匹配这些字符,那么您必须从文本的开头到结尾匹配它们。

re.match(r'^[A-Za-z0-9_-]+$', 'gfds9 41.-=,434')

答案 1 :(得分:0)

尝试替代它可能它适用于你:

[\w-]+

编辑:

虽然您提供的初始正则表达式也适用于我。