python正規表現常用表現まとめ
文書ディレクトリ1、文字列からPythonコメントを削除 2、ある記号の前後の内容を切り取る 3、数字以外の文字列を削除 4、中国語のみ保留 5、中国語のみ・大文字小文字・アラビア数字のみ 6、大文字・小文字・数字を除く 7、ある特殊文字を消す 8、英語、数字、特殊記号を残す 9、その他の使い方 1、文字列のPythonコメントを削除する
ケース:
結果:
2、ある記号の前後の内容を切り取る
ケース1:
結果:
ケース2:
結果:
3、数字以外の文字列を削除する
ケース:
結果:
4、中国語のみ保留
ケース:
結果:
5、中国語、大文字と小文字とアラビア数字のみを残す
ケース:
結果:
6、大文字と小文字を除く
ケース:
結果:
7、特殊文字を削除する
シナリオ:
結果:
8、英語、数字、特殊記号を保持する
ケース:
結果:
9、その他の使い方
非負の整数:
電話番号:
ケース:
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+)*