首页 > 代码库 > Python练习---正则表达式

Python练习---正则表达式

1、 匹配一段文本中的每行的邮箱
y=123@qq.comaaa@163.combbb@126.comasdfasfs33333@adfcom
import re
ret=re.findall(\w+@(?:qq|163|126).com,y)
print(ret)
[123@qq.com, aaa@163.com, bbb@126.com]
2、 匹配一段文本中的每行的时间字符串,比如:‘1990-07-12’;
time=asfasf1990-07-12asdfAAAbbbb434241
import re
ret=re.search(r(?P<year>19[09]\d)-(?P<month>\d+)-(?P<days>\d+),time)
print(ret.group(year))
print(ret.group(month))
print(ret.group(days))
1990
07
12
# 3、 匹配一段文本中所有的身份证数字。
a=sfafsf,34234234234,1231313132,154785625475896587,sdefgr54184785ds85,4864465asf86845
import re
ret=re.findall(\d{18},a)
print(ret)
[154785625475896587]
# 4、 匹配qq号。(腾讯QQ号从10000开始)  [1,9][0,9]{4,}
q=3344,88888,7778957,10000,99999,414,4,867287672
import re
ret=re.findall([1-9][0-9]{4,},q)
print(ret)
[88888, 7778957, 10000, 99999, 867287672]
# 5、 匹配一个浮点数
import re
ret=re.findall(-?\d+\.?\d*,-1,-2.5,8.8,1,0)
print(ret)
[-1, -2.5, 8.8, 1, 0]
# 6、 匹配汉字。             ^[\u4e00-\u9fa5]{0,}$
import re
ret=re.findall([\u4e00-\u9fa5]{0,},的沙发斯蒂芬)
print(ret)
[的沙发斯蒂芬, ‘‘]
# 7、 匹配出所有整数
a=1,-3,a,-2.5,7.7,asdf
import re
ret=re.findall(r"‘(-?\d+)‘",str(re.split(,,a)))
print(ret)
[1, -3]

Python练习---正则表达式