1、re模块是用来操作正则表达式

2、正则表达式——用来字符串匹配的

(1)字符组:[字符组]  例如[0123fdsa456*/-]

             [0-9] 等同于[0123456789]

             [a-z] 匹配小写字母

             [A-Z]匹配大写字母

(2)特殊的元字符

.  匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\n 匹配一个换行符
\t 匹配一个制表符
\b 匹配单词的结尾 g\b以g结尾的单词
^ 匹配字符串的开始 ^e
$ 匹配字符串的结尾 w$
\W 匹配非字母、数字、下划线
\D 匹配非数字
\S 匹配非空白符
a|b  匹配字符a或b 先长字符后短字符
() 分组
[^abc] 除了abc以外都匹配

(3)量词

* 匹配0次或多次
+ 匹配1次或多次
匹配0次或1次
{n} 重复多次
{n,} 重复n次或更多次
{n,m} 重复n到m次

(4)转义符   \

注:r"\\d" 表示取消转义,直接显示出本来的字符

3、使用re模块方法

# -*- coding:UTf-8 -*-
#findall 是寻找所有匹配的字符
#参数一:需要匹配的字符,正则规则
#参数二:带匹配的字符串
import re
re = re.findall('e','eva egon yuan')
print(re)
#从前往后,找到一个就返回,返回,返回的变量需要调用group才能拿到结果
#如果没有找到,那么返回NONE,调用gruop会报错
re = re.search('e','eva egon yuan')
if re :
print(re.group())
#natch是从头开始匹配,同样调用group方法
re = re.match('e','eva egon yuan')
if re :
print(re.group())
#split方法,分割
re = re.split('[ab]','adbc') #利用正则关系进行分割 #sub 方法,替换
re = re.sub('\d','H','efaflkdjafhg',1)#利用正则规则进行替换,将数字替换成H #subn方法
re = re.subn('\d','H','fdahglaag')#将数字地换成H,返回元祖,替换了几次 #compile方法,编译规则
obj = re.compile('\d{3') #将正则表达式编译成一个正则表达式对象,建立规则
re = obj.search('fdafsafdsa12313')
print(re.group()) #finditer 返回一个存放匹配结果的迭代器
re = re.findall('\d','fwqre12314')
print (next(re).group) #查询第一个结果
for i in re:
print(i.group())
#flags方法
re.I 忽略大小写,括号内是完整的写法
re.M 多行模式,改变^和$的行为
re.S 可以匹配任意字符,包括换行符
re.L 做本地化识别任意字符,表示特殊字符集
re.U 使用\w \W \s \S \d \D 使用取决于unicode定义的字符属性,python3中默认使用
re.X 冗长模式,改模式下pattern字符串是多行的,忽略空白符并可以添加注释

4、group(),里面可以加入整数值,表示取局部分组里的数值,分组的意思是正则表达公式里的分组

5、正则表达式中‘?’  有三种功能, (1) 单独表示匹配0次或1次(2)放在字符串后面表示惰性匹配,表示匹配最少的次数(3)跟findall使用,在字符串内,表示取消优先级查询

6、在分组的时候,findall,split 是有分组优先级的,需要特别注意一下

Python——正则模块的更多相关文章

  1. 认识python正则模块re

    python正则模块re python中re中内置匹配.搜索.替换方法见博客---python附录-re.py模块源码(含re官方文档链接) 正则的应用是处理一些字符串,phthon的博文python ...

  2. python:正则模块

    1,正则表达式 正则表达式是用来做字符串的匹配的,正则有他自己的规则,和python没有关系,一种匹配字符串的规则. 2,字符组 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表 ...

  3. 19 Python 正则模块和正则表达式

    什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.p ...

  4. Python正则模块

    re模块 import re # match # 从头开始匹配, 只匹配一次,就结束 a = re.match('\d+', '54:58天5488:8451') # 默认就是0个群组 print(a ...

  5. Python全栈开发【re正则模块】

    re正则模块 本节内容: 正则介绍 元字符及元字符集 元字符转义符 re模块下的常用方法 正则介绍(re) 正则表达式(或 RE)是一种小型的.高度专业化的编程语言. 在Python中,它内嵌在Pyt ...

  6. 小白的Python之路 day5 re正则模块

    re正则模块 一.概述 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,要讲他的具体用法要讲一本书!它内嵌在Python中,并通过 re 模块实现.你可以为想要匹配的相应字符串 ...

  7. Python 正则处理_re模块

    正则表达式 动机 文本处理成为计算机常见工作之一 对文本内容搜索,定位,提取是逻辑比较复杂的工作 为了快速方便的解决上述问题,产生了正则表达式技术 定义 文本的高级匹配模式, 提供搜索, 替换, 本质 ...

  8. python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess ...

  9. python——re模块(正则表达)

    python——re模块(正则表达) 两个比较不错的正则帖子: http://blog.csdn.net/riba2534/article/details/54288552 http://blog.c ...

随机推荐

  1. SpringBoot究竟是如何跑起来的?

    摘要: 神奇的SpringBoot. 原文:SpringBoot 究竟是如何跑起来的? 作者:老钱 Fundebug经授权转载,版权归原作者所有. 不得不说 SpringBoot 太复杂了,我本来只想 ...

  2. 控制台程序读取Excel设置角色权限

    摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复283或者20181118可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me ...

  3. 推荐一款好用的office转换PDF工具

    北京博信施科技有限公司是一家专业从事数据格式转换.数据处理领域研发软件产品和解决方案实施的技术型公司.在当今信息时代,PDF文档格式是在Internet上进行电子文档发行和数字化信息传播的理想文档格式 ...

  4. C# 一款属于自己的音乐播放器

    本文利用C# 调用Windows自带的Windows Media Player 打造一款属于自己的音乐播放器,以供学习分享使用,如有不足之处,还请指正. 概述 Windows Media Player ...

  5. 【已解决】checkout 配置无效的问题可以进来看下

    在日常工作中,我们经常会遇到要更新一个项目,但是由于更改了配置,需要将这些配置commit或者checkout,但是有的同学不想commit怎么办呢,只能通过checkout,那么问题又来了,改了很多 ...

  6. 使用mysqlhelper可以连接mysql

    已经验证OK通过. 参考地址: https://www.oschina.net/code/snippet_579976_48967 https://files.cnblogs.com/files/mo ...

  7. SQL Server 数据库部分常用语句小结(二)

    9. 查询备份还原数据库的进度. select command ,percent_complete ,est_time_to_go=convert(varchar,(estimated_complet ...

  8. C#与SQL Server数据库连接

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. virtualenvwrapper 虚拟环境的使用 和 python 安装源的更改

    virtualenvwrapper 虚拟环境的使用 鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper. virtualenvwrapper提供了一系 ...

  10. .NET CORE学习笔记系列(4)——ASP.NET CORE 程序启用SSL

    一.什么是SSL? 1.概念: SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数 ...