关于python正则的练习

113 阅读2分钟

关于python正则的练习:

1、利用正则匹配QQ号码:

[1-9]\d{4,}

2、身份证号码匹配:

import re
text = "dsf141235199310060547k13425619941336048Xkk"
data_list = re.findall("\d{17}[\dX]", text)
print(data_list) # ["dsf141235199310060547", "13425619941336048X"]
import re
text = "dsf141235199310060547k13425619941336048Xkk"
data_list = re.findall("\d{17}(\d|X)", text)
print(data_list) # ["7", "X"]
import re
text = "dsf141235199310060547k13425619941336048Xkk"
data_list = re.findall("(\d{17}(\d|X))", text)
print(data_list) # [("141235199310060547", "7"), ("13425619941336048X", "X")]
import re
text = "dsf141235199310060547k13425619941336048Xkk"
data_list = re.findall("(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)", text)
print(data_list) # [("141235", "1993", "10", "06", "054", "7"), ("134256", "1994", "13", "36", "048","X")]

3、手机号:

import re
text = "我的手机哈号是15123251485,你的手机号是1171123啊?"
data_list = re.findall("1[3|4|5|6|7|8|9]\d{9}", text)
print(data_list) # ["15123251485"]

4、邮箱号:

import re
text = "楼主太牛逼了,在线要442662578@qq.com和xxxxx@live.com谢谢楼主,手机号也可15131255789。"
data_list = re.findall("\w+@\w+\.\w+", text)
prtin(data_list) # ["442662578@qq.com和xxxxx"]
import re
text = "楼主太牛逼了,在线要442662578@qq.com和xxxxx@live.com谢谢楼主,手机号也可15131255789。"
data_list = re.findall("[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+", text, re.ASCII)
prtin(data_list) # ["442662578@qq.com", "xxxxx@live.com"]
import re
text = "楼主太牛逼了,在线要442662578@qq.com和xxxxx@live.com谢谢楼主,手机号也可15131255789。"
data_list = re.findall("\w+@\w+\.\w+", text, re.ASCII)
prtin(data_list) # ["442662578@qq.com", "xxxxx@live.com"]
import re
text = "楼主太牛逼了,在线要44266-2578@qq.com和xxxxx@live.com谢谢楼主,手机号也可15131255789。"
data_list = re.findall("(\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)", text, re.ASCII)
prtin(data_list) # [("44266-2578@qq.com", "-2578", "", ""), ("xxxxx@live.com", "", "", "")]