【发布时间】:2026-01-07 04:40:01
【问题描述】:
虽然我认为应该很简单(如果你有任何 Python 经验,但我没有),但我查看并搜索并找不到我需要的东西。
给定一个字符串,我想在 Python 中验证它是否只包含字母数字字符:a-zA-Z0-9 和 . _ -
例子:
接受:
bill-gates
Steve_Jobs
Micro.soft
拒绝:
Bill gates -- 不允许有空格
me@host.com -- @ 不是字母数字
我正在尝试使用:
if re.match("^[a-zA-Z0-9_.-]+$", username) == True:
但这似乎不起作用......
【问题讨论】:
-
re.match() 不返回布尔值,它返回一个 MatchObject,它“总是有一个布尔值 True”,或者 None。
-
使用
== True总是不好的。它充其量是多余的,在这种情况下,它是行不通的。 -
您真的认为(例如)
---.___是有效匹配吗?
标签: python regex alphanumeric