原创

Python 正则表达

Python 使用re 模块提供了正则表达式处理的能力

re.M                         多行模式
re.MULTILNE
re.S                         单行模式
re.DOTALL      
re.I                         忽略大小写
re.IGNORECASE
re.X                         忽略表示式中的空白字符
re.VERBOSE
使用 | 位 或 / 运算开启多种选项

方法

编译

re.compile(patten,flags=0)

设定flags, 编译模式,返回正则表达式对象regex。

pattern 就是正则表达式字符串,flags是选项。正则表达需要被编译,为了提高提高效率,这些编译后的结果被保存,下次使用同样的pattern 的时候,就不需要再次编译。

re的其他方法为了提高效率都调用了编译方法,就是为了提速。

单次匹配

re.march(pattern,string,flags=0)
regex.match(string[,pos[,endpos]])
match匹配从字符串开头匹配,regex对象match 方法可以重设定开始位置和结束位置。返回match对象
re.search(pattern,string,flags=0)
regex.search(string[,pos[,endpod]])
从头搜索直到第一个匹配,regex对象search方法可以重设定开始位置和结束位置,返回match对象
re.fullmatch(pattern,string,flags=0)
regex.fullmatch(string[,pos[,endpos]])
整个字符串和正则表达式匹配

全文搜索

re.findall(pattern,string,flags=0)
regex.findall(string[,pos[,endpos]])
对整个字符串,从左到右匹配,返回所有匹配的列表
re.finditer(pattern,string,flags=0)
redex.finditer(string[,pos[,endpos]])
对整个字符串,从左到右匹配,返回所有匹配项,返回迭代器。注意每次迭代返回的是match对象

匹配替换

re.sub(pattern,replacement,string,count=0,flags=0)
regex.sub(reglacement,string,count=0)
使用pattern对字符串string 进行匹配,对匹配项使用repl替换。
replacement可以是string, bytes, function.
re.subn(pattern,replacement,string,count=0,flags=0)
regex.subn(replacement,string,count=0)
同sub返回一个元组(new_string,number_of_subs_made)

字符串分割

字符串的分割函数,太难用,不能指定多个字符进行分割。
re.split(pattern,string,maxsplit=0,flags=0)
re.split分隔字符串

分组

使用小括号的pattern 捕获的数据被放到了组group 中。
match ,search 函数可以返回match 对象;findall 返回字符串列表;finditer 返回一个个match 对象

如果pattern 中使用哦分组,如果有匹配的结果,会在match 对象中
1、使用group(N)方式返回对应分组,1-N 是对应的分组,0返回整个匹配的字符串
2、如果使用了命名分组,可以使用group('name') 的方式取分组
3、也可以使用groups()返回多有分组
4、使用groupdict()返回所有命名的分组

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • markdown demo

    在NIO中,所有的数据都是用缓冲区处理的,读取数据时,它是从通道(Channel)直接读到缓冲区中,网络数据通过Channel读取和写入。

    江小白
  • Python 面向对象

    多继承少修改,OCP(Open-closed Principle),使用继承来改变,来体现个性

    江小白
  • Ansible Module 快速入门

    Ansible是python 中的一套模块,系统中的一套自动化工具,只需要使用ssh协议连接及可用来系统管理、自动化执行命令等任务。

    江小白
  • python运维开发笔记4

    ['mysql','-u','root','-p123','-e','show processlist']

    py3study
  • 这或许是我见过的最简单的正则表达式教程(三)

    五一劳动节来啦,小小挖掘机们小编们首先祝大家劳动节快乐! 作为中国放假大学的一员,除了趁着长达8天的五一春假好好休整之外,当然还要忙中偷闲补习一下python的...

    石晓文
  • python re模块常见函数

    如果想要从源字符串的起始位置匹配一个模式,我们可以使用re.match()函数。re.match()函数的使用格式是: re.match(pattern, st...

    py3study
  • python中去掉文件的注释

        re.VERBOSE | re.MULTILINE | re.DOTALL

    py3study
  • python笔记:正则表达式

    超级大猪
  • Python使用正则表达式处理字符串

    关于正则表达式基本语法请参考之前发过的文章常用正则表达式锦集与Python中正则表达式的用法,正则表达式扩展语法的高级用法后面会专门整理后再发。 Python标...

    Python小屋屋主
  • python 正则匹配的re.sear

    影响'^'和'$'的行为,指定了以后,'^'会增加匹配每行的开始(也就是换行符后的位置);'$'会增加匹配每行的结束(也就是换行符前的位置)。

    py3study

扫码关注云+社区

领取腾讯云代金券