天天看點

Python每日練習之正規表達式(day~12)

使用者名密碼規則校驗
"""
正規表達式:驗證輸入使用者名和QQ号是否有效并給出對應的提示資訊
規則:
使用者名必須由字母、數字或下劃線構成且長度在6~20個字元之間
QQ号是5~12的數字且首位不能為0
"""
import re

def main():
    username = input('請輸入使用者名:')
    qq = input('請輸入QQ号:')
    # 在字元串前面加上了r,說明字元串中沒有轉義字元
    # ^ 為比對字元串的開始
    # {M,N}比對至少M次至多N次
    # $為比對字元串的結束
    m1 = re.match(r'^[0~9a-zA-Z_]{6,20}$',username)
    if not m1:
        print('請輸入正确的使用者名.')
    m2 = re.match(r'^[1-9]\d{4,11}$',qq)
    if not m2:
        print('請輸入正确的QQ.')
    if m1 and m2:
        print('輸入資訊有效!')

if __name__ == '__main__':
    main()