python正则表达式


python中使用re模块来完成正则表达式,内置了许多表达式的方法,这里就简单的介绍几种常用的

一.re.match(pattern,string,flags)

   pattern:表示书写的正则表达式

   string:需要匹配的字符串

   flags:匹配方式(如:不区分大小写)

flags主要分为以下几种(使用多个匹配方式时可以用|隔开(或的意思))

   re.I :不区分大小写

   re.L: 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境

   re.M :多行模式

   re.S :即为 . 并且包括换行符在内的任意字符(. 不包括换行符)

   re.U :表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库

   re.X :为了增加可读性,忽略空格和 # 后面的注释

我们在使用re模块调用match方法进行正则表达式匹配的会得到如下结果,不便于直接查看,可以在后面加上span()方法

会得到匹配第一个符合条件的字符纬度(简单理解为坐标吧),我们可以看出,a中有两个“www”,但是匹配出来的只

显示出来一个匹配的结果,这是因为match()方法从目标字符的开头开始匹配,若匹配有结果返回,没有结果返回none,

我们要想返回匹配的正则表达式的结果,可以使用group()方法查看匹配后返回的结果。

二.re.search(pattern,string,flags)

   pattern:表示书写的正则表达式

   string:需要匹配的字符串

   flags:匹配方式(如:不区分大小写)

search()和match()使用大致相同,唯一的不同就是匹配的方式,这也是两者的不同点,search()是从整个字符串进行匹配的

有结果返回第一个匹配的结果,没有结果就返回none,match(从开头开始匹配,若开头就不符合匹配要求直接返回none)

三.re.sub(pattern,repl,string,count,flags),对匹配的结果替换

   pattern:表示书写的正则表达式

   repl:匹配后的结果

   string:需要匹配的字符串

   count:匹配的结果个数要替换的结果(0表示匹配的全部都替换,具体数字表示前多少个要替换)

   flags:匹配方式(如:不区分大小写)

四.re.compile(pattern),加工一个正则表达式并生成一个对象

五.re.findall(pattern,string,flags),将匹配的所有结果生成list

   pattern:表示书写的正则表达式

   string:需要匹配的字符串

   flags:匹配方式(如:不区分大小写)

六.re.finditer(pattern,string,flags),将匹配的所有结果已迭代的形式返回

   pattern:表示书写的正则表达式

   string:需要匹配的字符串

   flags:匹配方式(如:不区分大小写)

七.re.split(pattern,string,maxsplit,flags),在匹配的结果之间进行分割,并返回list形式

   pattern:表示书写的正则表达式

   string:需要匹配的字符串

   maxspilt:对匹配结果的前多少个进行分割

   flags:匹配方式(如:不区分大小写)

 

 

 

 

 

 

 

 

注:以上正则表达式中的写法是以www代表的,这种写法不规范,建议书写的按照正确的表达式写法


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM