代码如下:
import re
name = input("Enter a username: ")
y = len(name)
for i in range (0, y):
valid = re.match("[A-Za-z0-9!£$%^&*]", name[i])
if valid:
print("Username valid")
else:
print("Username inavlid, try again")
当我输入一个仅包含正则表达式中字符的用户名时,它将打印“username valid”,当我输入一个仅包含未包含字符的用户名时,将打印“username invalid,try again”。你知道吗
但是,当我输入允许字符和不允许字符的组合时,密码将被验证。我如何才能使它,即使其中一个输入的字符不在正则表达式中,程序说,用户名是无效的?你知道吗
提前谢谢。你知道吗
语义上的错误是,即使之前字符上没有匹配项,也会一直覆盖
valid
的内容。你知道吗完全避免
for
循环,并将regex更改为"[A-Za-z0-9!£$%^&*]+$"
相关问题 更多 >
编程相关推荐