python--正则表达式|re模块学习
学习来源:https://www.liaoxuefeng.com/wiki/1016959663602400/1017639890281664
正则表达式是一种用来匹配字符串的一种强大的武器,用一种描述性语言给字符串定一个规则,凡是符合规则的字符串,我们就认为匹配了,否则,该字符串就是不合法的。
因为正则表达式也是用字符表示的,所以,我们首先了解如何用字符来描述字符。
在正则表达式中,如果直接给出字符,就是精确匹配,
\d :匹配一个数字;
‘009\d’可以匹配‘0098’,无法匹配‘009A’
\w:匹配一个字母或者数字;
‘\w\w\d’可以匹配‘py3’
. :可以匹配任意字符;
‘py.’可以匹配‘py3’,'py@','pyi'
* :匹配任意个字符(包括0个)
+:表示至少一个字符;
?:表示0个或者1个字符;
{n,m}:表示n-m个字符。
\d{3} 表示可以匹配3个数字,比如‘’
\s 可以匹配一个空格(课包括tab等空白符),所以\s+ 表示至少有一个空格,可以匹配‘ ’,‘ ’。
\d{3,8}表示3-8个数字,such as :''
以上所得只是可以用正则表达式匹配带空格的带区号的电话号码。
如果带特殊字符,则需要用“\”转义。
进阶:
要做到更精确的匹配,可以用[]来表示范围:
· [0-9a-zA-Z\_] 可以匹配一个数字、字母或者下划线;
· [0-9a-zA-Z\_]+ 可以匹配至少由一个数字、字母或者下划线组成的字符串,例如‘009’,‘_0ih’,'45ty';
· [a-zA-Z\_][0-9a-zA-Z\_]* 可以匹配由字母或者下划线开头,后面接任意个由一个数字、字母或者下划线组成的字符串(python的合法变量);
· [a-zA-Z\_][0-9a-zA-Z\_]{1,19} 更加确认了该变量的长度(1-20个字符),前面一个字符加上后面最多19个字符组成的字符串。
A|B 可以匹配A或者B ,(p|P)ython 可以匹配python ,也可以匹配Python;
^ 可以表示行数的开头;
^\d 表示必须要以数字开头;
$ 表示行数的结束;
\d$ 表述要以数字结束;
pps:^py$ 变成了整行匹配,只能匹配到py
re模块
python提供re模块,包含了所有正则表达式的功能,由于python 本身也是用\来进行转义,所以要特别注意:
s=‘ABC\\-001’ -->'ABC\-001'
建议使用‘r’前缀,就不用考虑转义的问题了。
s=r‘ABC\\-001’


分组:
除了简单的判断是否匹配之外,正则表达式还有提取大量字串的功能,用()表示的就是提取的分组Group.
看例子:

注意到group(0)是原始字符串,group(1),group(2)是第一个,第二个子串。
试着完成了廖雪峰正则下面的两道练习
python--正则表达式|re模块学习的更多相关文章
- Python正则表达式re模块学习遇到的问题
Python正则表达式处理的组是什么? Python正则表达式处理中的匹配对象是什么? Python匹配对象的groups.groupdict和group之间的关系 Python正则表达式re.mat ...
- Python 正则表达式——re模块介绍
Python 正则表达式 re 模块使 Python 语言拥有全部的正则表达式功能,re模块常用方法: re.match函数 re.match从字符串的起始位置匹配,如果起始位置匹配不成功,则matc ...
- python正则表达式Re模块备忘录
title: python正则表达式Re模块备忘录 date: 2019/1/31 18:17:08 toc: true --- python正则表达式Re模块备忘录 备忘录 python中的数量词为 ...
- python中confIgparser模块学习
python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...
- Python面试题之Python正则表达式re模块
一.Python正则表达式re模块简介 正则表达式,是一门相对通用的语言.简单说就是:用一系列的规则语法,去匹配,查找,替换等操作字符串,以达到对应的目的:此套规则,就是所谓的正则表达式.各个语言都有 ...
- 第二十一天python3 python的正则表达式re模块学习
python的正则表达式 python使用re模块提供了正则表达式处理的能力: 常量 re.M re.MULTILINE 多行模式 re.S re.DOTALL 单行模式 re.I re.IGNORE ...
- python正则表达式-re模块
目录: 一.正则函数 二.re模块调用 三.贪婪模式 四.分组 五.正则表达式修饰符 六.正则表达式模式 七.常见的正则表达式 导读: 想要使用python的正则表达式功能就需要调用re模块,re模块 ...
- Python之路-python(常用模块学习)
模块介绍 time &datetime模块 random os sys shutil shelve xml处理 yaml处理 configparser hashlib re正则表达式 1.模块 ...
- 【Python】logging模块学习笔记
因为做接口自动化测试遇到的一个代码逻辑上的问题,又不知道具体问题出在哪里,所以在模块化代码之前,先学习下python的日志模块logging. 入门1 入门2 日志级别大小关系为:CRITICAL & ...
- python正则表达式——re模块
http://blog.csdn.net/zm2714/article/details/8016323 re模块 开始使用re Python通过re模块提供对正则表达式的支持.使用re的一般步骤是先将 ...
随机推荐
- Jmeter与LoadRunner的比较
一.与Loadrunner的比较相似点 1.Jmeter的架构跟loadrunner原理一样, 都是通过中间代理,监控&收集并发客户端发现的指令,把他们生成脚本,再发送到应用服务器,再监控服务 ...
- ApiPost的预执行脚本和后执行脚本
ApiPost的预执行脚本和后执行脚本主要是用来定义变量.但是它们有什么区别呢? 预执行脚本 在当前接口发送请求前执行的脚本,可以理解为beforeSend的时候执行. 一般在这里,我们可以设置一些前 ...
- 必应每日图片api
https://cn.bing.com/HPImageArchive.aspx?format=xml&cc=jp&idx=0&n=1 format = 'xml' | 'j ...
- 深入理解PHP之数组(遍历顺序)
作者: Laruence 本文地址: http://www.laruence.com/2009/08/23/1065.html 转载请注明出处 经常会有人问我, PHP的数组, 如果用foreach来 ...
- python学习12类
'''''''''类:具有相同特性和行为的对象抽象为类特性——>属性Property行为——>方法class:关键字'''class Boxes():#类的第一行格式 '''立方体类''' ...
- opencv-4-成像系统与Mat图像颜色空间
opencv-4-成像系统与Mat图像颜色空间 opencvc++qtmat 目标 知道 opencv 处理图像数据的格式 介绍 mat 基础内容 知道 BGR 颜色 显示 颜色转换 BGR 到 灰度 ...
- java 8 Stream中操作类型和peek的使用
目录 简介 中间操作和终止操作 peek 结论 java 8 Stream中操作类型和peek的使用 简介 java 8 stream作为流式操作有两种操作类型,中间操作和终止操作.这两种有什么区别呢 ...
- 【Linux常见问题】CentOS 7 root用户密码忘记,找回密码方法
1.开机按esc 2.选择CentOS Linux (3.10.0-693.......) 按 e 键: 3.光标移动到 linux 16 开头的行,找到 ro 改为 rw init=sysr ...
- 【小技巧】【App store切换为中文】
为什么80%的码农都做不了架构师?>>> 贡献作者 -[XJDomain]博客XJ: https://my.oschina.net/shengbingli/blogGitHub ...
- Java网络编程从入门到精通(27):关闭服务端连接
在客户端和服务端的数据交互完成后,一般需要关闭网络连接.对于服务端来说,需要关闭Socket和ServerSocket. 在关闭Socket后,客户端并不会马上感知自已的Socket已经关闭,也就是说 ...