import re
m = re.match(r'^\w+@\w+.\w+$','email@example.com')print(m)
1
2
3
1
获取网站域名
import re
m =(re.findall(r'\w*?:?//([\w.]*)/?.*','https://csdn.net/')or[None,])[0]print(m)
1
2
3
csdn.net
1
获取文件路径
import re
import os
m = os.path.join(*re.findall(r'(.*?)[\\/]','C:/users\\Administrator/Desktop\\Edge.lnk'))print(m)
1
2
3
4
C:/users/Administrator/Desktop
1
获取文件名
import re
import os
m = re.findall(f'.*{os.path.sep}(.*)','/home/nebula/Desktop/Edge.desktop')print(m)
m = m[0]print(m.split('.')[-1])print(m[:m.rindex('.')]if'.'in m else m)
1
2
3
4
5
6
7
['Edge.desktop']
desktop
Edge
1
2
3
匹配大陆手机号
import re
m = re.match(r'^1\d{10}$','16330338888')print(m)
1
2
3
1
获取网页参数
import re
m ='https://www.baidu.com/s?ie=UTF-8&wd=csdn'
m ={k : v for k, v in(re.findall(r'(\w*)=([^&]*)', m.split('?')[-1])if'?'in m else[])}print(m)
1
2
3
4
{'ie': 'UTF-8', 'wd': 'csdn'}
1
匹配大小写加数字高强度密码
import re
m =re.match(r'(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[\x21-\x7e]{8,30}','1Aaaaaaa')print(m)