re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
print(re.match('www', 'www.runoob.com').span()) #span 以tuple形式返回范围
print(re.match('www', 'www.runoob.com').group()) #group 以str形式返回对象中match的元素
print(re.match('www', 'www.runoob.com'))
#(0, 3)
#www
#<re.Match object; span=(0, 3), match='www'>
re.search方法
re.search 扫描整个字符串并返回第一个成功的匹配。
print(re.search('runoob', 'www.runoob.com'))
#<re.Match object; span=(4, 10), match='runoob'>
re.compile 函数
compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
编译:源程序->目标程序
格式: re.compile(pattern[, flags])
flags : 可选,,编译标志位,用于修改正则表达式的匹配方式 比如忽略大小写,多行模式等
findall
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
findall(string,pos,endpos) #后2个位可选参数,为起始和结束 默认为0和默认字符串长度
pattern = re.compile(r'\d+')
pattern.findall('run88 oob123 google456', 0, 10) #['88', '1']
import re
a=re.findall(r'\d{4}Nanjing','China_net809Chinna2018Nanjing')#格式在前
print(a)#['2018Nanjing&