注意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. Vim升华之树形目录插件NERDTree安装图解(ubuntu)

    此文经验证:为真 http://www.linuxidc.com/Linux/2013-06/86048.htm

  2. day 20作业

    目录 1.下面这段代码的输出结果将是什么?请解释. 2.多重继承的执行顺序,请解答以下输出结果是什么?并解释. 3.什么是新式类,什么是经典类,二者有什么区别?什么是深度优先,什么是广度优先? 4.用 ...

  3. GDB使用总结

    1. GDB概述 GNU发布的调试器,可以查看程序如何运行或崩溃时的状态. 主要功能: 启动程序,可以按照自定义的要求运行程序. 可让被调试的程序在你所指定的断点处停住. 当程序被停住时,可以检查此时 ...

  4. e课表项目第二次冲刺周期第六天

    昨天干了什么? 昨天是这次冲刺周期的第五天,我们的冲刺周期已经快过了一半,我们已经实现了对第一层界面的设计,所以我们的进度和我们的时间正好吻合,所以我们有信心完成我们的软件.我在网上搜了一些关于监听的 ...

  5. taro taroUi的H5打包后路径/修改为./

      打包文件路径修改在config/index.tsx中,如下 esnextModules: ['taro-ui'],配置也需要在h5中写入并且将publicPath: './'即可,不需要在做一个h ...

  6. Vue中组件

    0828自我总结 Vue中组件 一.组件的构成 组件:由 template + css + js 三部分组成(.vue文件) 1)组件具有复用性 2) 复用组件时,数据要隔离 3) 复用组件时,方法不 ...

  7. 关于django中input标签中file类型以及开路由

    0825自我总结 关于django中input标签中file类型 1.input提交图片实时展示 <img src="/static/img/default.png" wid ...

  8. unittest中diascover批量执行用例

    # case_dir='./'#当前脚本的路径 # discover=unittest.defaultTestLoader.discover(case_dir,pattern='unittest_fr ...

  9. Ubuntu php + apache

    Ubuntu 环境: 问题1: apache 不能解析 *.php 文件 安装apache的扩展模块 :  apt-get install libapache2-mod-php 问题2 : 客户端访问 ...

  10. [BZOJ1116] CLO

    1116: [POI2008]CLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1311  Solved: 709[Submit][Status] ...