# -*- coding: utf-8 -*- import re text = '梦见蛇是什么意思' #使用正则去搜索 r = re.search(r'什么',text) print(r) #执行结果<re.Match object; span=(4, 6), match='什么'> r1 = re.search(r'什么啊',text) print(r1) #总结 如果能搜索就返回一个对象,如果无法搜索就返回None r2 = re.search('什么|梦见',text) if r is None: print('搜索不到') else: print(r.group()) #执行结果 什么 #只要匹配一个就返回 #findall返回的是一个列表 f = re.findall('',text) print(f) #执行结果 ['', '', '', '', '', '', '', '', ''] f1 = re.findall('梦见|什么',text) print(f1) #执行结果 ['梦见', '什么'] f2 = re.findall('什么都没有',text) print(f2) #执行结果 [] #匹配搜索结果 b_search = '百度为您找到相关结果约100,000,000个' s = re.findall(r'[0-9,]+',b_search) print(s) #不匹配数字 s1 = re.findall(r'[^0-9,]+',b_search) print(s1) #贪婪模式和非贪婪模式 html = '<a href="https://www.99zyku.com“>seo技巧</a>' r =re.findall(r'<a href="(.*)“>(.*)</a>',html) print(r) #执行结果 [('https://www.99zyku.com', 'seo技巧')] html1 = '<a href="https://www.99zyku.com" target="_blank">seo技巧</a>' r1 =re.findall(r'<a href="(.*)">(.*)</a>',html1) print(r1) #执行结果 贪婪模式 [('https://www.99zyku.com“ target="_blank', 'seo技巧')] html2 = '<a href="https://www.99zyku.com" target="_blank">seo技巧</a><a></a>' r2 =re.findall(r'<a href="(.*?)".+?>(.*?)</a>',html2) print(r2) #.* .+ 后面加?可以让贪婪模式变成非贪婪模式 #?: r3 = re.findall(r'(?:<a href="(.*?)".+?>(?:.*?)</a>)',html2) print(r3) #执行结果 只匹配href的分组 ['https://www.99zyku.com']