[英]Matching string with regular expression
我正在嘗試創建一個 function 來訪問,如果用戶輸入的用戶名與正則表達式匹配。 這是我的代碼:
def regular_expression():
rules = "[A-Z]^{1}[a-zA-Z0-9]+[0-9]$"
while True:
username = str(input("Username Must have:\n"
"- First character must be an upper case letter\n"
" - Middle can be any letter or number\n"
"- Last character must be a number\n"
"> "
))
if re.fullmatch(rules, username):
print("Accepted")
這是我收到的錯誤:
return _compile(pattern, flags).fullmatch(string)
p = sre_compile.compile(pattern, flags)
p = sre_parse.parse(p, flags)
p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
source.tell() - here + len(this))
re.error: multiple repeat at position 9
問題是“^{1}”在你的“規則”變量中,它的目的是什么?
我設法用這個來完成這項工作:
def regular_expression():
rules = "^[A-Z][a-zA-Z0-9]+[0-9]$"
while True:
username = str(input("Username Must have:\n"
"- First character must be an upper case letter\n"
" - Middle can be any letter or number\n"
"- Last character must be a number\n"
"> "
))
if re.fullmatch(rules, username):
print("Accepted")
break
*不要忘記添加'break',退出循環;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.