正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,码农们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。
- match 匹配字符串的开头
- fullmatch Match a regular expression pattern to all of a string.
- search 查找字符串内容
- sub 替换字符串内的字符
- subn 替换字符串内的字符,且返回替换次数
- split 分割字符串为列表
- findall 获取字符串内容为列表
- finditer 获取字符串内容为迭代器
- compile Compile a pattern into a RegexObject.
- purge Clear the regular expression cache.
- escape Backslash all non-alphanumerics in a string.
findall特点与用途
findall是查询字符串内所有符合正则规则的字符串,并且存为列表返回。
优点:能够查询到所有满足规则的字符串
缺点:不能支持()的抓取显示,灵活性差
适用范围:适用对小量字符串的内容获取
search特点和用途
search 当发现字符串内有满足正则内容,直接返回。else 返回None
优点:灵活操作()抓取的规则,还可以用.span 查看内容在字符串中索引位置
缺点:如果返回None时,group返回内容会报错
???只能获取第一个满足正则的字符串
适用范围:适合对大量有规律的字符串进项分段处理
match特点与用途
match 查找字符串开头满足正则条件的内容
优点:灵活操作()抓取的规则,还可以用.span 查看内容在字符串中索引位置
缺点:正则的 ^ 和 search组合就能替代这个方法
适用范围:如果正则式已经存于变量,那就可用match方法,而不用修改正则
split特点与用途
split 根据正则对字符串进项切分,以列表形式返回
优点:因为正则的强大,所以此方法满足任何要求的切分。
缺点:没有缺点,就这么叼
适用范围:如果str的split不能满足你,随时可以用
subn特点与用途
subn 根据正则替换字符串,返回修改后的字符串信息,且多返回一个替换次数;通过元组类型返回
优点:会返回一个替换次数
缺点:暂时没发现什么缺点
适用范围:少量字符串的替换,且想知道替换次数
sub特点与用途
sub 根据正则替换字符串,返回修改后的字符串
优点:直接返回字符串,类型没有改变
缺点:没有替换次数
适用范围:个人感觉 一个subn就够了,多返回次数又不消耗多少内存
compile特点与用途
compile 把正则表达式转成 Pattern实例 存入变量 ,可以下次复用
优点:可复用同样的正则规则,只一次编译提高执行速度
缺点:暂无
使用范围:需要重复使用同样规则的时候