re模块

Posted 清欢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了re模块相关的知识,希望对你有一定的参考价值。

正则表达式本身是一种小型的、高度专业化的编程语言,而在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实例 存入变量 ,可以下次复用
优点:可复用同样的正则规则,只一次编译提高执行速度
缺点:暂无
使用范围:需要重复使用同样规则的时候

 

以上是关于re模块的主要内容,如果未能解决你的问题,请参考以下文章

re模块的高级用法

python3怎么导入re模块

Python模块-re模块

python re模块

re模块

python常用模块之re模块(正则)