day 16正規表現ジョブ

5362 ワード

正規表現を使用して、次の操作を行います.
1.ユーザー名の照合
要求:1.ユーザー名にはアルファベットの下線のみが含まれます
​ 2.数字で始まることはできません
​ 3.⻓度は6~16ビットの範囲である
re_obj = re.compile(r'[^\d][\da-zA-Z_]{5,15}')
print(re_obj.fullmatch('asdsadasas_asd12'))
  • パスワード一致
  • 要求:1.含めることはできません!@#¥%^&*これらの特殊記号
    ​ 2.アルファベットで始まる必要があります
    ​ 3.⻓度は6~12ビットの範囲である
    re_obj = re.compile(r'[a-zA-Z][^!@#¥%^&*]{5,11}')
    print(re_obj.fullmatch('adsadasas_asd12'))
    
  • ipv 4フォーマットのipアドレスマッチングプロンプト:IPアドレスの範囲は0.0.0.0-255.255.255.255.255
  • です.
    re_obj = re.compile(r'([0-9]|1[0-9][0-9]|2[0-4][0-9]|255).([0-9]|1[0-9][0-9]|2[0-4][0-9]|255).([0-9]|1[0-9][0-9]|2[0-4][0-9]|255).([0-9]|1[0-9][0-9]|2[0-4][0-9]|255)')
    print(re_obj.fullmatch('225.2.3.4'))
    
  • は、ユーザ入力データからの数値(正負の数値を含む整数と小数も含む)を抽出する、
  • を求める.
      :“-3.14good87nice19bye” =====> -3.14 + 87 + 19 = 102.86
    
    str1 = '-3.14good-87.90nice19bye'
    list1 = findall(r'[-]?\d+\.?\d+', str1)
    sum1 = sum([float(x) for x in list1])
    print(sum1)
    
  • 検証入力内容は漢字
    str1 = input('   ')
    re_str = fullmatch(r'^[\u4e00-\u9fa5]+$', str1)
    print(re_str)
    
  • のみである.
  • 整数または小数(正数および負数を含む)
    re_obj = re.compile(r'-3.14good-87.90nice19bye')
    print(re_obj.fullmatch(r'[-]?\d+\.?\d+'))
    
  • に一致する.
  • 正規表現を使用して文字列内のすべての日付情報を取得し、年月日フォーマットに一致します:2018-12-6
    注意年の範囲は1~9999、月の範囲は1~12、日の範囲は130または131または1~29(閏年は考慮しない)
    str1 = '2019 5 21 '
    print(fullmatch(r'[1-9][0-9]{1,3} (1[0-2]|[0-9]) ([1-2]?[0-9]|30|31) ', str1))
    
  • 置換文字列の不良内容:入力された内容の不良内容をすべて*(王者栄光チャット要求参照)
    str1 = '    '
    str2 = sub(r' ','*', str1)
    print(str2)
    
  • に置換する.