注意pattern字符串前要加r    原始字符串

元字符
.                匹配除换行的任意字符
^            匹配开头
$            匹配结尾
表示重复
        星号      匹配0-多次
        +           匹配1到多次 
        ?            匹配0次或1次
        {m,n}            匹配m次至n次       
        后面跟一个?表示非贪婪匹配
[ab]            取一个(一般元字符在其中是普通字符)
        []中的元字符
            -在其中表示至
            ^表示非
            \d类似的
()        表示分组
|        分组内的或
\
    1 后面跟元字符转义
    2 后面跟普通字符实现特殊功能
            \d            [0-9]
            \D            [^0-9]
            \s            任何空白字符 [\t\n\r\f\v]
            \S              任意非空白字符
            \w            [0-9a-zA-Z_]
            \W            [^0-9a-zA-Z_]
            \b            匹配一个单词边界,指单词到空格处
            \B            匹配非单词边界
    3 引用序号对应的字组,相当于把小括号的内容放倒此处

函数
re.findall(pattern, string)            找到之后返回符合组的列表,组开头有?:则返回整个
re.search(pattern, string)                              只找到一个.返回一个match对象 .group()返回字符串        
re.match(pattern, string)                            只在开头匹配,返回一个match对象.group()返回字符串
re.compile(pattern)                    多次使用一个正则时,有必要生成一个对象
re.finditer(pattern, string)                    返回一个可迭代对象,每个元素是match对象
re.sub(pattern, repl, string, count=0)            替换count个,0为所有
re.subn(pattern, repl, string)            功能同上,返回一个元组(替换完的字符串,替换次数)
re.split(pattern, string)
以上函数都有参数,编译标识 flags
re.I            匹配对大小写不敏感
re.S            使.包含换行在内的所有字符

match对象的方法
group()             返回匹配到的字符串
start()               返回匹配到的起始位置
end()                   返回匹配到的结束位置
span()                返回一个元组,(起始偏移,结束偏移)
group(数字)        返回第几个组

python正则小结的更多相关文章

  1. 第11.27节 Python正则小结:正则静,静则明,明则虚,虚则无为而无不为也

    正则表达式的章节到此就结束了,老猿现在觉得对我们这些身具程序猿基因特色的人来说,正则表达式应该是蛮可口的开胃小菜. 在写标题时,本来想写"正则表达式小结",后来想了想,百度了一下, ...

  2. Python正则式的基本用法

    Python正则式的基本用法 1.1基本规则 1.2重复 1.2.1最小匹配与精确匹配 1.3前向界定与后向界定 1.4组的基本知识 2.re模块的基本函数 2.1使用compile加速 2.2 ma ...

  3. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  4. python 正则,常用正则表达式大全

    Nginx访问日志匹配 re.compile #re.compile 规则解释,改规则必须从前面开始匹配一个一个写到后面,前面一个修改后面全部错误.特殊标准结束为符号为空或者双引号:  改符号开始 从 ...

  5. python 正则使用笔记

    python正则使用笔记 def remove_br(content): """去除两边换行符""" content = content.r ...

  6. Python正则处理多行日志一例

    正则表达式基础知识请参阅<正则表达式基础知识>,本文使用正则表达式来匹配多行日志并从中解析出相应的信息. 假设现在有这样的SQL日志: SELECT * FROM open_app WHE ...

  7. Python正则匹配字母大小写不敏感在读xml中的应用

    需要解决的问题:要匹配字符串,字符串中字母的大小写不确定,如何匹配? 问题出现之前是使用字符串比较的方式,比如要匹配'abc',则用语句: if s == 'abc':#s为需要匹配的字符串 prin ...

  8. Python正则替换字符串函数re.sub用法示例(1)

    本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替 ...

  9. Python正则处理多行日志一例(可配置化)

    正则表达式基础知识请参阅<正则表达式基础知识>,本文使用正则表达式来匹配多行日志并从中解析出相应的信息. 假设现在有这样的SQL日志: SELECT * FROM open_app WHE ...

随机推荐

  1. 2019年最新超级有趣好玩的html+css网页布局课程,前端入门基础,html5+css3零基础入门课程-黑马程序员pink老师精心录制

    大家好,我是黑马程序员pink老师!! 本次视频是前端零基础入门的课程,pink老师采取有趣好玩讲法,带你快乐的学习枯燥的html+css知识,学完之后让你能快速布局pc端页面.代码也可以讲的好玩有趣 ...

  2. Openshift创建Router和Registry

    Openshift创建Router和Registry: [root@DockerServer openshift]# oadm policy add-scc-to-user privileged sy ...

  3. Android中Project、Module的区别

    Project 可以包含多含 Module. Project相当于eclipse里面的工作区间,module相当于其project.module可以作为狭义上的模块,可以多个app共用的module. ...

  4. Aria2 1.35.0,更新,测试,发布

    在上一篇: 有哪些便宜还好用的东西,买了就感觉得了宝一样? 结尾提到了Tatsuhiro Tsujikawa的aria2计划在10月更新一个新的版本 今天趁着雨后明月挂天,开始了简单的更新 虽然在半年 ...

  5. react 首屏性能优化

    首屏优化点:1.加载包(bundle.js)文件的大小,越小,首屏渲染速度越快 (按需加载) 2.优先渲染用户直观看到的页面部分(懒加载) 技术点:react-loadable . react-laz ...

  6. 【TencentOS tiny】深度源码分析(7)——事件

    引言 大家在裸机编程中很可能经常用到flag这种变量,用来标志一下某个事件的发生,然后在循环中判断这些标志是否发生,如果是等待多个事件的话,还可能会if((xxx_flag)&&(xx ...

  7. LeetCode_844-Backspace String Compare

    输入两个字符串S和T,字符串只包含小写字母和”#“,#表示为退格键,判断操作完退格键剩下字符串是否相等例子:S = “ab#c", T = "ad # c” 返回true,剩下的字 ...

  8. 移动端自动化测试Appium 从入门到项目实战Python版☝☝☝

    移动端自动化测试Appium 从入门到项目实战Python版 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌)  说到APP自动化测试,Appium可是说是非常流 ...

  9. 网关服务自定义路由规则(springcloud+nacos)

    1. 场景描述 需要给各个网关服务类提供自定义配置路由规则,实时生效,不用重启网关(重启风险大),目前已实现,动态加载自定义路由文件,动态加载路由文件中的路由规则,只需在规则文件中配置下规则就可以了 ...

  10. App自动化环境搭建

    1.安装Appium-desktop工具 下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.8.2 2.安装Android环境 ...