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. 把多个js函数绑定到onload时间处理函数上

    js的window.onload=function();网页加载完毕时会触发一个onload事件,这个事件与window对象相关联,是让一个函数在网页加载完毕之后得到执行.但是如果有两个韩式first ...

  2. 如何启动一个Vue2.x项目

    1. cd到工作目录2. npm init -y3. 先查看有没有安装全局的vue-cli,:vue-V,没有的话安装一下:npm install vue-cli4. 创建项目: vue init w ...

  3. 5月9日——vue渲染过程中{{xxx}}显示

    异常显示的原因: 这是由于浏览器的渲染机制导致的,浏览器是从头到尾  如果你的js引用在底部,那么浏览器会先加载dom此时,你用于渲染的{{}}识别符,因为还没读到该识别符对应的js文件,所以会被解析 ...

  4. SD从零开始13-14

    SD从零开始13 使用条件记录(Working with Condition Records) 定价报表—客户特定价格Pricing Reports-customer-specific prices ...

  5. 使用kafka consumer api时,中文乱码问题

    使用Intelli idea调试kafka low consumer时,由于broker存储的message有中文, idea中console端是可以正确显示的 然后mvn package打包到服务器 ...

  6. 单表(SSM、SpringBoot、SpringCloud、Freemaker、BootStrap等)

    山门也有门门道道, 开发.测试.安卓...... 小子被纳入MIS小山峰,虽不及BOP势力庞大,高手如云, 仅寥寥七人, 却也于入小山峰之事乐趣至极. 前几日峰主布下一道新手任务, 制作一张单表并运行 ...

  7. Expo大作战(二十)--expo中的Release channels(不重要*)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. 有关于《Linux C编程一站式学习》(备份)

    Linux C编程一站式学习 -- PDF版本,共37章: Linux C编程一站式学习 -- 在线版,来自灰狐: Linux C编程一站式学习 -- 在线版,来自亚嵌教育: Linux C一站式学习 ...

  9. Python3 sqlacodegen 根据已有数据库生成 ORM 使用的 model.py

    pip install sqlacodegen pip install pymysql sqlacodegen mysql+pymysql://username:password@127.0.0.1: ...

  10. 从专用磁盘创建 Windows VM

    通过使用 Powershell 将专用托管磁盘附加为 OS 磁盘来创建新 VM. 专用磁盘是保留原始 VM 中的用户帐户.应用程序和其他状态数据的现有 VM 中虚拟硬盘 (VHD) 的副本. 使用专用 ...