**
正则表达式re库的基本使用
正则表达式的表示类型
re库采用raw string(原生字符串)类型表示正则表达式,表示为r’text’
例如: r’[1-9]\d{5}’
Re库的主要函数功能
函数 说明
re.search 在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象
re.match 搜索第一个字符串的开始位置匹配正则表达式,返回match对象
re.findall 搜索字符串,以列表类型返回全部能够匹配到的字串
re.finditer 搜索字符串,返回匹配结果的迭代类型,每个迭代元素都是match对象 (for in 遍历)
re.split 将一个字符串按照正则表达式的匹配结果进行分割,返回列表类型
re.sub 在一个字符串中替换所有匹配正则表达式的字串,返回替换后的字符串
所传入的参数:re.search(pattern, string, flags=0):
在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象
pattern:表示希望传入的正则表达式的字符串或原生字符串的表示
string:要匹配的字符串
flags:正则表达式使用时的控制标记
示例:re.search
所传入的参数:re.match(pattern, string, flags=0):
搜索第一个字符串的开始位置匹配正则表达式,返回match对象
pattern:表示希望传入的正则表达式的字符串或原生字符串的表示
string:要匹配的字符串
flags:正则表达式使用时的控制标记
示例 re.match
若传入的第一个字符串不符合匹配的正则表达式,系统会报错
所传入的参数:re.findall(pattern, string, flags=0):
搜索字符串,以列表类型返回全部能够匹配到的字串
pattern:表示希望传入的正则表达式的字符串或原生字符串的表示
string:要匹配的字符串
flags:正则表达式使用时的控制标记
示例:re.findall()
所传入的参数:re.split(pattern, string, maxsplit=0, flags=0):
搜索字符串,以列表类型返回全部能够匹配到的字串
pattern:表示希望传入的正则表达式的字符串或原生字符串的表示
string:要匹配的字符串
flags:正则表达式使用时的控制标记
maxsplit:最大分割数,剩余部分作为最后一个元素输出
示例:re.split
传入maxsplit参数,这里maxsplit=1
所传入的参数:re.finditer(pattern, string, flags=0):
搜索字符串,返回匹配结果的迭代类型,每个迭代元素都是match对象
pattern:表示希望传入的正则表达式的字符串或原生字符串的表示
string:要匹配的字符串
flags:正则表达式使用时的控制标记
示例 re.finditer
所传入的参数:re.sub(pattern, repl, string, count=0, flags=0):
搜索字符串,返回匹配结果的迭代类型,每个迭代元素都是match对象
pattern:表示希望传入的正则表达式的字符串或原生字符串的表示
repl:替换需要替换的字符串
string:要匹配的字符串
count:最大替换次数
flags:正则表达式使用时的控制标记
示例:re.sub
还有一个将正则表达式的字符串形式编译成正则表达式的对象函数compile()
regex = re.compile(patern, flags=0)
例:
函数用法:一次性操作
mst = re.search(r’[0-9]\d{5}’, ‘ABC100202’)
面向对象用法:编译后可以进行多次操作
pat = re.compile(r’[1-9]\d{5}’)
rst = pat.search(“ABC100202”)
此时,这里的pat对象可以当作编译之后形成的正则表达式,可以调用re库中的函数
如pat.search、pat.findall等等
**