首页 > 代码库 > Python学习笔记——正则表达式

Python学习笔记——正则表达式

  今天把之前学的正则表达式好好总结总结。

  一、元字符

  . :  .表示可以匹配任意一个字符

  \d  :  \d表示可以匹配任意一个数字

  \D  : \D表示可以匹配任意一个非数字

  \s  :  \s表示可以匹配任意一个空白字母

  \S : \S表示可以匹配任意一个非空白字母

  \w : \w表示可以匹配任意一个字符

  \W: \W表示可以匹配任意一个非字符

  []  : []表示可以匹配括号中的任意的一个字符  例:[abc] , [a-z] , [^ab]

  ^  : ^表示只匹配字符串的开始部分     例:‘^fdsfs‘

  $  : $表示只匹配字符串的末尾部分      例:‘fdsfs$‘

  *  : *表示重复上一个字符0次或者多次

  +  : +表示重复上一个字符1次或者多次

  ?   : ?表示重复上一个字符0次或者1次

  {m,n} :{m,n}表示重复次数,最小重复m次,最大重复n次。  还可以{n}这么用,表示重复n次

  非贪婪模式: 表示匹配时进行最短匹配。 用法为:在重复符后面添加一个?

  二、常用函数

  re.compile(pattern)  有一个参数表示模式串,也就是匹配规则。返回一个对象,通过对象可以调用相关函数。 函数的作用是将模式串编译,可以更快的匹配

  re.match(pattern , str) 有两个参数,第一个表示模式串,第二个表示要匹配的字符串。开始部分匹配成功,返回一个对象

  re.search(pattern, str) 有两个参数,第一个表示模式串,第二个表示要匹配的字符串。任意部分匹配成功,返回一个对象

  re.findall(pattern, str) 有两个参数,第一个表示模式串,第二个表示要匹配的字符串。将所有匹配的字段保存到列表中,返回列表

  re.sub(pattern,replace,str) 有三个参数,第一个表示模式串,第二个是要替换的字符串,第三个表示要被替换的字符串。返回列表。函数用于匹配要替换的字符串

  re.subn 功能和sub类似,多一个返回值,为替换的个数

  re.split(pattern,str) 有两个参数,第一个表示模式串,第二个表示要被分离的字符串。

  re.I  属性,表示忽略大小写

  re.M  属性,表示多行匹配

  re.S  属性,表示可以匹配不可见字符