注意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. Docker 本地私有仓库搭建:

    Docker 本地私有仓库搭建: 创建数据卷目录: mkdir /home/sky/registry 用registry镜像启动容器: docker run -d -p 5000:5000 -v /h ...

  2. MongoDB 学习笔记之 索引

    索引: db.media.createIndex({"Tracklist": 1}) 1表示升序 -1表示降序 我们要着重看一下对数组创建索引的情况. 构建一个集合:db.medi ...

  3. Zookeeper 学习笔记之 节点个数

    zookeeper的节点配置的个数推荐是奇数个这是为什么呢? 选举机制 两种情况无法选出leader: 整个集群只有2台服务器(注意不是只剩2台,而是集群的总节点数为2) 整个集群超过半数机器挂掉. ...

  4. 控制器向视图传参ModelAndView、Model和Map

    ModelAndView类 ModelAndView在spring-webmvc-4.3.18.RELEASE.jar包下,当然其他版本也有,所在包如下 对于那些返回String等类型的处理方法,sp ...

  5. STM32进阶之串口环形缓冲区实现

    队列的概念 在此之前,我们来回顾一下队列的基本概念: 队列 (Queue):是一种先进先出(First In First Out ,简称 FIFO)的线性表,只允许在一端插入(入队),在另一端进行删除 ...

  6. Docker 安装Oracle

    1.使用docker 命令搜索oracle 镜像,前提是已安装了Docker docker  search oracle 2.下载相应版本的oracle 镜像 docker pull sath89/o ...

  7. Arouter核心思路和源码详解

    前言 阅读本文之前,建议读者: 对Arouter的使用有一定的了解. 对Apt技术有所了解. Arouter是一款Alibaba出品的优秀的路由框架,本文不对其进行全面的分析,只对其最重要的功能进行源 ...

  8. ThinkPhp3.1.3执行存储过程返回false

    1.Tp在调用存储过程的时候,每次都显示false 返回一大片,下面是我自己的代码.

  9. Kubernetes的Service运行原理

    一.为什么Servcie能定位到Pod 因为Pod的IP是不固定的,所以Kubernetes需要Service,除此之外它还可以在多个Pod间负载均衡 Service的访问入口,其实是宿主机的kube ...

  10. c++11::std::optional

    std::optional还有一个类似于智能指针的接口, 它可以显式转化为bool来表示std::optional是否有一个值. 指针的解引用操作符*和->都实现了, 但是没有std::bad_ ...