re模块

1、正则表达式的语法

'.' 匹配任意字符,若指定了re.S,则可以匹配换行符
'^' 匹配行首,即字符串的开头,若指定了re.M,会自动匹配每行开头
'$' 匹配行尾,同上
'*' 匹配大于等于0个的re
'+' 匹配大于等于1个的re
'?' 匹配0个或1个的re,此外?是非贪婪匹配的标志
{m} 指定re的个数刚好为m个
{m,n} 指定re的个数在m,n之间
[] 可以在其中指定字符集,其中特殊符号也会被视作是普通字符,'^'为除字符集以外的字符
'|' 或符号,匹配任意一个
('...') 若匹配到括号内的re,将其视为一个组,存在内存中
(?:'...') 将匹配到的组不存在内存中
(?iLmsux) 指定匹配方法
(?P<name>'...') 指定匹配的组的名称
(?#'...') 忽略指定的字符
(?='...') 如果指定的字符在匹配到的字符后面,才算匹配成功,例如:Isaac (?=Asimov) will match 'Isaac ' only if it’s followed by 'Asimov'
(?!'...') 与上面的相反,只有指定字符不在后面才匹配
(?<='...') 指定字符在前面才匹配
(?<!'...') 指定字符不在前面才匹配
\number
\b 匹配空字符串,仅在词的开头和结尾
\B 与b相反
\d 匹配数字
\D d的补集
\s 匹配空格
\S s的补集
\w 匹配字母,数字,下划线
\W w的补集

2、模块内容(常数,方法)

re.compile(pattern, flags=0) 预编译正则表达式
re.I/re.IGNORECASE 忽略大小写
re.L/re.LOCALE 使\w,\W,\b,\B,\s,\S根据当前作用域来判断
re.M/re.MULTILINE 匹配多行
re.S/re.DOTALL '.'匹配换行
re.U/re.UNICODE 匹配unicode字符集
re.X/re.VERBOSE 可以将正则写在多行中,并用#注释
re.search(pattern, string, flags=0) 搜索string中第一个匹配的部分
re.match(pattern, string, flags=0) 只从第一个字符开始匹配,若第一个不符合,就返回none
re.split(pattern, string, maxsplit=0, flags=0) 用pattern分割字符串,返回分割后的列表,若pattern以捕获组形式,则返回包括pattern的所有字符的列表
re.findall(pattern, string, flags=0) 找到所有符合条件的部分
re.finditer(pattern, string, flags=0)) 以迭代器形式返回所有匹配的部分,类型为MatchObject
re.sub(pattern, repl, string, count=0, flags=0) 执行count次repl替换string中匹配pattern的部分
re.subn(pattern, repl, string, count=0, flags=0) 同上,只是返回结果为新字符串和替换次数的元组
re.escape(pattern) 将pattern中的特殊符号加上转义符
re.purge() 清空正则表达式的缓存

3、MatchObject类

常用方法:group(),groups(),groupdict()包含匹配结果的组,start(),end()匹配结果的组的下标,span()返回start和end的元组
常见属性:lastindex,lastgroup,re,string

Python2.7-re模块的更多相关文章

  1. 其它课程中的python---2、NumPy模块

    其它课程中的python---2.NumPy模块 一.总结 一句话总结: numpy在数组计算方面又快又方便 1.NumPy中的ndarray是一个多维数组对象,该对象由哪两部分组成? -实际的数据 ...

  2. python2的reload模块

    在刚开始写python程序的时候,都会遇到一个很头疼的问题——编码错误,在之前的文章中也做了介绍: 由__future__中unicode_literals引起的错误来研究python中的编码问题 . ...

  3. 解决python2安装MySQL-python模块报错

    今天电脑重装系统,所有软件都重装一遍,MySQLdb模块一直装不好,纠结了好久,终于解决,方法分享给大家. MySQLdb模块安装: 1.下载MySQL-pyhon模块,网站为:https://pyp ...

  4. python2.7入门---模块(Module)

        来,这次我们就看下Python 模块(Module).它是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句.模块让你能够有逻辑地组织你的 Pytho ...

  5. Python2.7 Queue模块学习

    前面了解了一下threading,发现一般都是和queue模块配合使用的,queue产生一个队列,队列模式有3种,针对这三种队列分别有三个构造函数: 1 FIFO队列先进先出:class Queue. ...

  6. Python2.7 threading模块学习

    主要学习一下python的多线程编程,使用threading模块,threading 包括:Thread.conditions.event.rlock.semaphore等类. Thread对象可以实 ...

  7. python2中urllib2模块带cookies使用方法

    #!/usr/bin/python # coding=utf-8 #############方式1######################### import urllib2 cookie = & ...

  8. CentOS升级Python2.7导致使用pip等命令安装模块失败

    报错如下: # pip Traceback (most recent call last): File , in <module> from pkg_resources import lo ...

  9. python3对比python2的更新点

    python3对比python2的更新点: Python2官方基础模块:urllib2 第三方功能包:requests python3中urllib库和urilib2库合并成了urllib库. 其中u ...

  10. python常用模块之subprocess

    python常用模块之subprocess python2有个模块commands,执行命令的模块,在python3中已经废弃,使用subprocess模块来替代commands. 介绍一下:comm ...

随机推荐

  1. 设计模式-原型(prototype)

     一.概念 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 二.模式动机 当已有一个对像,暂且称之为原型对象,需要一个新的对像,该对像和已有的原型对像具有相同的类型,且里面的属性大部分 ...

  2. RequestDispatcher.forward转发与HttpServletResponse.sendRedirect重定向

    下面是HttpServletResponse.sendRedirect 方法实现的请求重定向与RequestDispatcher.forward 方法实现的请求转发的总结比较:(1)RequestDi ...

  3. python 字符串与列表的相互转换 数据类型转换

    Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 compl ...

  4. 数组无法使用 forEach() 方法 - 分号的重要性

    问题描述: 函数的结构如上图所示,在调用该函数的时候,浏览器报错: 分析原因: 在 js 的语法中,如果语句独占一行,通常可以省略句末的分号 但实际上 js 解析代码的时候,只有在句末缺少分号就无法正 ...

  5. Android studio button 按钮 四种绑定事件的方法

    package com.geli_2.sujie.sujiegeili2testbutton; import android.os.Bundle; import android.support.v7. ...

  6. C#/Net定时导出Excel并定时发送到邮箱

    一.定时导出Excel并定时发送到邮箱   首先我们先分析一下该功能有多少个小的任务点:1.Windows计划服务 2.定时导出Excel定指定路径 3.定时发送邮件包含附件   接下来我们一个个解决 ...

  7. ssh免秘钥配置

    1.要求:两台相同的系统,这里设置server1控制server2的服务器 2.先在两台服务器上都安装好ssh 输入命令下载: yum install -y openssh-clients opens ...

  8. mysql 建立索引的原则(转)

    索引查询是数据库中重要的记录查询方法,要不要进入索引以及在那些字段上建立索引都要和实际数据库系统的查询要求结合来考虑,下面给出实际中的一些通用的原则: 1. 在经常用作过滤器的字段上建立索引: 2. ...

  9. systemd-analyze – 在Linux中查找系统启动性能统计信息

    您是否在使用 systemd 系统和服务管理器,并且您的 Linux 系统需要较长时间才能启动,或者您希望查看系统启动性能的报告? 如果是的话,你已经登陆了正确的地方. 在本文中,我们将向您展示如何使 ...

  10. EF For Mysql

    http://blog.csdn.net/kmguo/article/details/19650299