如何在python中使用regex以禁止未包含的字符?

2024-04-27 02:45:59 发布

您现在位置:Python中文网/ 问答频道 /正文

代码如下:

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”。你知道吗

但是,当我输入允许字符和不允许字符的组合时,密码将被验证。我如何才能使它,即使其中一个输入的字符不在正则表达式中,程序说,用户名是无效的?你知道吗

提前谢谢。你知道吗


Tags: 代码nameimportreinputlenusername字符
1条回答
网友
1楼 · 发布于 2024-04-27 02:45:59

语义上的错误是,即使之前字符上没有匹配项,也会一直覆盖valid的内容。你知道吗

完全避免for循环,并将regex更改为"[A-Za-z0-9!£$%^&*]+$"

相关问题 更多 >