正则
re模块
re模块的findall方法
在字符串中找到正则表达式所匹配的所有字符串,并返回一个列表,如果没有匹配到就会返回一个空列表。
import re
a='张三天天在玩4399小游戏,他玩得很开心!'
b=re.findall('张三',a)
print(b)
运行结果如下:
['张三']
re模块的match方法
re.match 尝试从字符串的起始位置匹配一个模式,匹配成功返回的是一个匹配 对象(这个对象包含了我们匹配的信息),如果不是起始位置匹配成功的话, match()返回的是空。
import re
a = "python123123java"
print(re.match('python',a))
print(re.match('python',a).group())#查看匹配的字符
print(re.match('123',a))# 因为不是起始 返回为None
print(re.match('python',a).span())# 匹配字符的下标取值区间
运行结果如下:
<re.Match object; span=(0, 6), match='python'> python None (0, 6)
re模块的search方法
re.search扫描整个字符串,匹配成功返回的是一个匹配对象(这个对象包含了我们匹配的信息) 注意:search也只能匹配到一个,找到符合规则的就返回,不会一直往后找
import re
a = "python123123java"
print(re.search('123', a))
print(re.search('cc', a))
print(re.search('python', a).group())
print(re.search('python', a).span())
运行结果如下:
<re.Match object; span=(6, 9), match='123'> None python (0, 6)
re模块三个方法的区别
一、findall:匹配目标字符串 匹配完成返回的是值 二、match:从目标字符串开始位置进行匹配,匹配成功返回的是匹配对象 只能匹配一/ 三、search:匹配目标字符串,匹配成功返回的是匹配对象只能匹配一个
元字符
单字匹配符
代表数量的元字符
代表边界的元字符
^ 匹配字符串开头
$ 匹配字符串结尾