Re(正则表达式)库入门

Re库是Python的标准库,主要用于字符串匹配。
正则表达式是由字符和操作符构成的。

正则表达式的操作符
在这里插入图片描述
在这里插入图片描述

正则表达式的表示类型
raw string类型,即原生字符串类型(在字符串前面加一个r字符,不包括转义字符)
string 类型,但是更加繁琐。例如上面的操作符\d必须改成\d

Re库的主要功能函数:
参数
pattern是正则表达式的表示类型
string是一个字符串
flags是正则表达式使用时的控制标记,主要包括三种:re.I->忽略正则表达式的大小写;re.M->正则表达式中的^操作符能够将给定的字符串的每行当作匹配开始的位置;re.S->正则表达式中的.操作符能够匹配所有字符,默认匹配除换行外的所有字符。
maxsplit:最大分割数,剩余部分作为最后一个元素输出
repl是替换匹配字符串的字符串
count是匹配的最大替换次数

  • search(pattern,string,flags=0) 在一个字符串中搜索第一个匹配正则表达式的子串,返回一个match对象。
  • match(pattern,string,flags=0) 只在一个字符串的开始位置匹配正则表达式,返回match对象。
  • findall(pattern,string,flags=0) 搜索字符串,以列表类型返回全部能匹配的子串。
  • split(pattern,string,maxsplit=0,flags=0) 将一个字符串与正则表达式匹配的部分去掉,剩余的部分分别作为分割的元素放到列表类型。
  • finditer(pattern,string,flags=0) 搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象。
  • sub(pattern,repl,string,count=0,flags=0) 在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串。
    Re库的使用方法:
    函数式用法:(一次性操作) rst=re.search(r’[1-9]\d{5}’,‘BIT 100081’)
    面向对象用法:编译后多次操作 pat=re.compiler(r’[1-9]\d{5}’)#re.compile(pattern,flags=0)将一个正则表达式字符串编译成正则表达式对象。 rst=pat.search(‘BIT 100081’)

Re库的match对象:
match对象的属性
在这里插入图片描述
match对象的方法
在这里插入图片描述

当有多个字符串与正则表达式匹配时,Re库默认采用贪婪匹配,输出匹配最长的子串。
为了获得最小匹配有
在这里插入图片描述