import re
# 贪婪模式 从开头匹配到结尾 默认# 非贪婪
one ='mdfsdsfffdsn12345656n'
two ="a\d"# pattern = re.compile('a\d')
pattern = re.compile('m(.*?)n')#非贪婪 dfsdsfffds
pattern = re.compile('m(.*)n')#贪婪 dfsdsfffdsn12345656
result = pattern.findall(one)print(result)
除了 换行符号\n 之外的 匹配
import re
# . 除了 换行符号\n 之外的 匹配
one ="""
msfdsdffdsdfsn
1234567778888N
"""
pattern = re.compile('m(.*)n', re.S | re.I)
result = pattern.findall(one)print(result)
纯数字的正则
import re
# 纯数字的正则 \d 0-9之间的一个数
pattern = re.compile('^\d+$')
one ='234'# 匹配判断的方法# match 方法 是否匹配成功 从头开始 匹配一次
result = pattern.match(one)print(result.group())#必须调用group()
范围运算
import re
# 范围运算 [123] [1-9]
one ='7893452'
pattern = re.compile('[1-9]')
result = pattern.findall(one)print(result)#返回列表#['7', '8', '9', '3', '4', '5', '2']
常用匹配函数
import re
one ='abc 123'
patter = re.compile('\d+')# match 从头匹配 匹配一次
result = patter.match(one)print(result)#None# search 从任意位置 , 匹配一次
result = patter.search(one)print(result.group())#123# findall 查找符合正则的 内容 -- list
result = patter.findall(one)print(result)#['123']# sub 替换字符串
result = patter.sub('#',one)print(result)# abc ## split 拆分
patter = re.compile(' ')
result = patter.split(one)print(result)#['abc', '123']
匹配中文
import re
# 2.匹配中文
two ='<a href="https://www.baidu.com/" nslog="normal" nslog-type="10600112" data-href="https://www.baidu.com/s?ie=utf-8&fr=bks0000&wd=">网页是最新版本的,适配移动端</a>'# python中 匹配中问 [a-z] unicode的范围 * + ?
pattern = re.compile('[\u4e00-\u9fa5]+')
result = pattern.findall(two)print(result)