正则模块
sre.SRE_Match包含如下方法或属性
方法(属性) 含义 match.group(index) 获取指定组的字符串 match.__getitem__(g) 即 match[0]=match.group(0) match.groups() 获取全部的组结果 match.span(index) 获取指定匹配结果字符串在string的截取段index match.start(groupindex) 获取指定子串组的起始位置 match.stop(groupindex) 获取指定子串组的结束位置 match.re 返回re对象,包含模式 match.string 返回原字符串
方法:
re.compile(p, flag=0)
该函数用于将字符串编译成正则对象,比如一个程序需要多次使用同一个正则字符串,为了提高效率可以考虑先编译
# 编译正则表达式 p = re.compile("baidu") # 匹配查找 p.search("www.baidu.com") # 不编译使用 re.search("du", "www.baidu.com")
re.match(p, string, flag=0)
开头匹配,成功返回re.Match对象,不成功则返回None
re.search(p, string, flag=0)
扫描字符串,成功返回re.Match对象,不成功则返回None,匹配到第一个即停止
re.findall(p, string, flag=0)
全文匹配查找,返回匹配到的子串列表
re.finditer(p, string, flag=0)
迭代器类型的findall
re.fullmatch(p, string, flag=0)
全文匹配则返回_sre对象,否则返回None
re.sub(old, new, string, flag=0)
string全文匹配查找p后用new替换掉
re.split(分割符, string, maxsplit=0, flag=0)
通过分割符将string分割成列表类型, maxsplit指定分割次数
*re.purge()
清除正则表达式缓存
re.escape(pattern)
对模式中除ASCII、数值、_外的字符进行转义,示例如下:
python re.escape(r'www.baidu.com is good, i love') #