正则表达re模块之findall()函数
1.导入re库
import re
2.符号应用
str = 'aabbabaabbaa'
1. 符号 . 就 是匹配除 \n (换行符)以外的任意一个字符
print(re.findall(r'a.b',str))
#['aab', 'aab']
2.符号 * 前面的字符出现0次或以上
print(re.findall(r'a*b',str))
#['aab', 'b', 'ab', 'aab', 'b']
3.符号.* 贪婪,匹配从.*前面为开始到后面为结束的所有内容
print(re.findall(r'a.*b',str))
#['aabbabaabb']
4.符号.*? 非贪婪,遇到开始和结束就进行截取,因此截取多次符合的结果,中间没有字符也会被截取
print(re.findall(r'a.*?b',str))
#['aab', 'ab', 'aab']
5.符号(.*?) 非贪婪,与上面一样,只是与上面的相比多了一个括号,只保留括号的内容
print(re.findall(r'a(.*?)b',str))
#['a', '', 'a']
3.日常应用
str="我是代码块112333"
1.提取字符串中的汉语
print(re.findall('[\u4e00-\u9fa5]+',str))
#["我是代码块"]
1.提取字符串中的数字
re.findall('\d+',str)
#["112333"]