python正規表現常用表現まとめ


文書ディレクトリ
  • 1、文字列からPythonコメントを削除
  • 2、ある記号の前後の内容を切り取る
  • 3、数字以外の文字列を削除
  • 4、中国語のみ保留
  • 5、中国語のみ・大文字小文字・アラビア数字のみ
  • 6、大文字・小文字・数字を除く
  • 7、ある特殊文字を消す
  • 8、英語、数字、特殊記号を残す
  • 9、その他の使い方
  • 1、文字列のPythonコメントを削除する
    ケース:
    import re 
    time = "2020-01-01 #       "
    num = re.sub(r'#.*$', "", time)# #   ,       
    print("     :", num)
    

    結果:
         : 2020-01-01 
    

    2、ある記号の前後の内容を切り取る
    ケース1:
    txt = '     :131-246-XXX19'
    a = txt.split(':')[0]#0     
    b = txt.split(':')[1]#[-1] [1]    ,      
    print ("a    :",a)
    print ("b    :",b)
    

    結果:
    a    :      
    b    : 131-246-XXX19
    

    ケース2:
    txt = "I love python .    python"
    text = re.sub(r'\..*$', "", txt)# .   ,\     ,    .   
    print("       :", text)
    

    結果:
           : I love python 
    

    3、数字以外の文字列を削除する
    ケース:
    import re 
    time = "2020-01-01 #       "
    num = re.sub(r'\D', "", time)
    print("     :", num)
    

    結果:
         : 20200101
    

    4、中国語のみ保留
    ケース:
    reg = "[^\u4e00-\u9fa5]"
    text = "  !E aa $$  34  --python !"
    print(re.sub(reg, '', text))
    

    結果:
             
    

    5、中国語、大文字と小文字とアラビア数字のみを残す
    ケース:
    reg = "[^0-9A-Za-z\u4e00-\u9fa5]"
    text = "  !E aa $$  34  --python !"
    print(re.sub(reg, '', text))
    

    結果:
      E aa   34  python 
    

    6、大文字と小文字を除く
    ケース:
    import re
    txt="Ayouleyang ~  - "
    text = re.sub('[a-zA-Z0-9]','',txt)
    print(text)
    

    結果:
     ~  - 
    

    7、特殊文字を削除する
    シナリオ:
    import re 
    txt = ' *a# $ . :  ;:youle+'
    text = re.sub('[,;;youle: :.;,$*#]+', "", txt)#[]         ,   replace()
    print(text)
    

    結果:
     a   +
    

    8、英語、数字、特殊記号を保持する
    ケース:
    reg = "[^0-9A-Za-z\u4e00-]"#     ,   -,u4e00“-”        
    txt = "  !     131-246-XXX19!::"
    text = re.sub(reg, '', txt)
    print(text)
    

    結果:
    131-246-XXX19
    

    9、その他の使い方
    非負の整数:^\d+$正の整数:^[0-9]*[1-9][0-9]*$非正の整数:^((-\d+)|(0+))$負の整数:^-[0-9]*[1-9][0-9]*$整数:^-?\d+$非負浮動小数点数:^\d+(\.\d+)?$正浮動小数点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)$非正浮動小数点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$マイナス浮動小数点数:^(-(( )))$英文文字列:^[A-Za-z]+$英文大文字列:^[A-Z]+$英文小文字:^[a-z]+$英字文字列:^[A-Za-z0-9]+$英数字下線列:^\w+$E-mailアドレス:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$または:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$郵便番号:^[1-9]\d{5}$日文:^[\u0391-\uFFE5]+$電話番号:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$携帯番号:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$2バイト文字(漢字を含む):^\x00-\xff先頭スペースの一致:(^\s*)|(\s*$)( vbscript trim )一致HTMLタグ:.*|一致空行:
    [\s| ]*\r
    抽出情報のネットワークリンク:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?抽出情報のメールアドレス:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*抽出情報の画像リンク:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?抽出情報のIPアドレス:(\d+)\.(\d+)\.(\d+)\.(\d+)抽出情報の中国携帯番号:(86)*0*13\d{9}抽出情報中の中国固定電話番号:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}抽出情報中の中国電話番号(携帯電話と固定電話を含む):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}抽出情報中の中国郵便番号:[1-9]{1}(\d+){5}抽出情報の浮動小数点数(すなわち小数):(-?\d*)\.?\d+抽出情報の任意の数字:(-?\d*)(\.\d+)?IP: (\d+)\.(\d+)\.(\d+)\.(\d+)
    電話番号:/^0\d{2,3}$/騰訊QQ号:^[1-9]*[1-9][0-9]*$口座番号(アルファベット先頭、5-16バイト許可、アルファベットアンダースコア許可):^[a-zA-Z][a-zA-Z0-9_]{4,15}$中国語、英語、数字及び下線:^[\u4e00-\u9fa5_a-zA-Z0-9]+$中国語文字にマッチする正規表現:[\u4e00-\u9fa5]マッチング2バイト文字(漢字を含む):[^\x00-\xff]空の行に一致する正規表現:
    [\s| ]*\r
    HTMLタグにマッチする正規表現:/.*|/sql文:^(select|drop|delete|create|update|insert).*$先頭と末尾のスペースに一致する正規表現:(^\s*)|(\s*$)Emailアドレスに一致する正規表現:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*