Python使用正则表达式检查用户名

2024-10-03 09:19:51 发布

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

我有个任务需要帮助。任务是创建一个python脚本,要求用户输入所需的用户名。用户名必须如下:“a11aaaa”。 从一个字母,2个数字,5个字母开始。这是用户名的外观规则,如果给定的输入不匹配,用户可以再试一次直到正确为止。 感谢你的帮助!在


Tags: 用户脚本规则字母数字用户名外观a11aaaa
3条回答

你可以这样做:

import re

while True:
    name = input('Enter your name')
    if re.match('^\w\d{2}\w{5}$', name):
        break

我最近从另一个用户那里了解到,\w包括\d。因此,'^\w\d{2}\w{5}$',正如这里的一些用户所建议的,将匹配,例如,12345678。在

要解决这个问题,只需显式指定character类:

import re

regex = re.compile('^[A-Za-z]\d{2}[A-Za-z]{5}$')

while True:
    password = input('Please enter a password: ')
    if regex.search(password):
        print('Yay! Your password is valid!')
        break

    else:
        print("Oh no, that's not right. You need a letter, then two numbers, then five letters. ", end='')
^\w{2}\d{2}\w{5}$   

您可以使用这个方便的站点来试验regex:https://regex101.com/

相关问题 更多 >