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. 【JVM】问题排查

    jetty的调用场景是:为了支持Servlet规范中的注解方式(使得不再需要在web.xml文件中进行Servlet的部署描述,简化开发流程),jetty在启动时会扫描class.lib包,将使用注解 ...

  2. 无依赖简单易用的Dynamics 365公共视图克隆工具

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

  3. 【Dojo 1.x】笔记5 使用本地引用

    习惯用CDN引用的同学肯定会知道还有一种叫本地引用,这篇笔记测试本地引用. Dojo SDK下载地址:点我 下载中间的Release Package即可,如果希望下载完整包(Full Source), ...

  4. 惊喜,重磅福利!免费开源ERP-企业信息化金矿

    Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规模的企 ...

  5. Android为TV端助力listview 非常重要的几个属性

    首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和false Android:stackFromBottom="true" ...

  6. 学习安卓开发[2] - 在Activity中托管Fragment

    目录 在上一篇学习安卓开发[1]-程序结构.Activity生命周期及页面通信中,学习了Activity的一些基础应用,基于这些知识,可以构建一些简单的APP了,但这还远远不够,本节会学习如何使用Ac ...

  7. Android Studio集成Flutter

    首先Flutter中文网教程地址:https://flutterchina.club/get-started/install/ 1.新建环境变量 变量名:PUB_HOSTED_URL 变量值:http ...

  8. dotnet core 入门命令

    官方资料: https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-restore?tabs=netcore2x 常规 项目引用 NuGet ...

  9. VSCode的Python扩展下程序运行的几种方式与环境变量管理

    在VSCode中编写Python程序时,由于有些地方要使用环境变量,但是发现设置的环境变量有时不起作用,花了点时间研究了一下,过程不表,直接说结论. 首先,环境变量的设置,Python扩展中有三种方式 ...

  10. tomcat设置开机启动

    一.windows 1. 下载tomcat 2. 进入bin目录,查看是否存在service.dat,如果没有自行创建 3. 打开cmd,进入tomcat>bin目录 说明:用法: servic ...