Python 常用匹配

发布于:2023-01-04 ⋅ 阅读:(183) ⋅ 点赞:(0)

检测合法邮箱

import re
m = re.match(r'^\w+@\w+.\w+$', 'email@example.com')
print(m)
<re.Match object; span=(0, 17), match='email@example.com'>

获取网站域名

import re
m = (re.findall(r'\w*?:?//([\w.]*)/?.*', 'https://csdn.net/') or [None, ])[0]
print(m)
csdn.net

获取文件路径

import re
import os
m = os.path.join(*re.findall(r'(.*?)[\\/]', 'C:/users\\Administrator/Desktop\\Edge.lnk'))
print(m)
C:/users/Administrator/Desktop

获取文件名

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)
['Edge.desktop']
desktop
Edge

匹配大陆手机号

import re
m = re.match(r'^1\d{10}$', '16330338888')
print(m)
<re.Match object; span=(0, 11), match='16330338888'>

获取网页参数

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)
{'ie': 'UTF-8', 'wd': 'csdn'}

匹配大小写加数字高强度密码

import re
m =re.match(r'(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[\x21-\x7e]{8,30}', '1Aaaaaaa')
print(m)
<re.Match object; span=(0, 8), match='1Aaaaaaa'>
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到