嗨,我是regexes的新手。
我有一个字符串,我希望匹配任意数量的A-Z a-z 0-9 - 和_
我在python中尝试了以下内容,但它始终匹配,即使是空白空间。有人可以告诉我为什么会这样吗?
re.match(r'[A-Za-z0-9_-]+', 'gfds9 41.-=,434')
答案 0 :(得分:4)
您的正则表达式匹配一个或多个这些字符。您的文字以一个或多个字符开头,因此匹配。如果您希望仅匹配这些字符,那么您必须从文本的开头到结尾匹配它们。
re.match(r'^[A-Za-z0-9_-]+$', 'gfds9 41.-=,434')
答案 1 :(得分:0)
尝试替代它可能它适用于你:
[\w-]+
编辑:
虽然您提供的初始正则表达式也适用于我。