python 之正则表达式
一、正则表达式
首先,我们需要感性的了解下什么是正则表达式,简单的是说“正则表达式”就是一个“表达式”,更准确定义是:“用一个简洁的方法来实现对“一组字符串”的表达式。
最终目的就是实现“一行胜千言”的效果。
二、实现正则表示的关键
() 操作符
() 原生字符串
() re库
() 正则表示对象编译
三、详解正则表示关键要素
3.1 操作符
我们想实现用一个简单的表达式实现对一组字符串的表达,那首先就需要了解操作符。我们回过头来再看下正则表达式的实际构造,我们先看一个实例,实例内容如下所示。
>>>> P(Y|YT|YTH|YTHO)?N
由上面这个正则表达式的实例,我们可以看出一个正则表达式的构造有两部分构成,即:“字符串” + “操作符”构成。
所以我们在学习正则表达式的过程中,我们首先需要学习和了解的就是这个操作符的实际含义和常用实例场景。有关正则的“操作符”具体含义,简单收集如下。


3.2 原生字符串
为什么要介绍和学习原生字符串呢?主要是因为在python自带的正则表达式的标准库re库,其通常使用原生字符串来写各种正则表达式,所以我们需要了解下。
其实所谓“原生字符串”主要是正对我们常用的“字符串”而言的,大家只需要简单的记住:原生字符串就是不带“转义字符(\)”的字符串。因为在正则的操作符中经常会见到这个“\”,如:\d、
\w’而这个反斜线(\)在普通字符中,提代表转移符,具有特殊的含义,即将一些特出符号标注转义为普通符号。而在正则表达式中为避免一些不必要的复杂与错误的操作,故将此有特征含义
的字符串的“转义含义”给抹去了。
具体原生字符串的实现方式,可见如下示例。
原生字符串实现格式:
>>>> r'text' 实际举例:
>>>> r'[1-9\d{5}]'
>>>> r'\d{3}-\d{8|\d{4}-\d{7}}'
3.3 re库
(1)re库简单介绍
re库是python默认自带的标准库,无需单独安装,直接使用import进行引入即可正常使用,调入具体操作如下。
>>>>import re
(2)re 库主要功能函数
有关re库的6个主要功能函数,坚持收集罗列如下表所示。

3.4 正则表达式对象编译
regex = re.compile(r'text')
python 之正则表达式的更多相关文章
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- Python 进阶 - 正则表达式
1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...
- python study - 正则表达式
第 7 章 正则表达式 7.1. 概览 7.2. 个案研究:街道地址 7.3. 个案研究:罗马字母 7.3.1. 校验千位数 7.3.2. 校验百位数 7.4. 使用 {n,m} 语法 7.4.1. ...
- python使用正则表达式文本替换
2D客户端编程从某种意义上来讲就是素材组织,所以,图片素材组织经常需要批量处理,python一定是最佳选择,不管是win/linux/mac都有一个简单的运行环境 举两个应用场景: 如果不是在某个文件 ...
- python的正则表达式 re
python的正则表达式 re 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一 ...
- Python之正则表达式(re模块)
本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 正则表达式(Regluar Expressions)又称规则 ...
- Python:正则表达式详解
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...
- 【Python】正则表达式纯代码极简教程
<Python3正则表达式>文字版详细教程链接:https://www.cnblogs.com/leejack/p/9189796.html ''' 内容:Python3正则表达式 日期: ...
- 【Python】正则表达式简单教程
说明:本文主要是根据廖雪峰网站的正则表达式教程学习,并根据需要做了少许修改,此处记录下来以备后续查看. <Python正则表达式纯代码极简教程>链接:https://www.cnblogs ...
- 【转】Python之正则表达式(re模块)
[转]Python之正则表达式(re模块) 本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 参考文档 提示: ...
随机推荐
- phpcms后台栏目权限修改无效的原因和解决方法
现象:在phpcms后台中,新建角色,然后修改角色对应栏目权限,结果一直只能选择一半数量的栏目.剩下的栏目怎么修改都不生效. 对比: step1:再另一个phpcms后台做同样操作,依旧是这个结果.跟 ...
- 微信小程序开发之拼接json数组字符串
直接上代码 : var imageitem; var imageitemstring=''; for(var i=0;i< that.data.fbimages.length;i ...
- SCUT - 299 - Kaildls的数组划分 - dp - 高精
https://scut.online/p/299 \(dp[i][k]\) 为前 \(i\) 个数分 \(k\) 组的最大值,那么 $dp[i][k]=max_{p=1}^{i-1}{dp[p][k ...
- python集合介绍
set原理 Python 还 包 含 了 一 个 数 据 类 型—— set ( 集 合 ) . 集 合 是 一 个 无 序 不 重 复 元素 的 集 . 基 本 功 能 包 括 关 系 测 试 和 ...
- C++ BYTE、WORD与DWORD类型
在VS中,BYTE与WORD,DWORD本质上都是一种无符号整型,它们在WINDEF.H中被定义,定义如下: typedef unsigned char BYTE;typedef unsi ...
- 洛谷P2652 同花顺
P2652 同花顺 题目背景 所谓同花顺,就是指一些扑克牌,它们花色相同,并且数字连续. 题目描述 现在我手里有n张扑克牌,但它们可能并不能凑成同花顺.我现在想知道,最少更换其中的多少张牌,我能让这 ...
- 剑指OFFER之打印1到最大的N位数(九度OJ1515)
题目描述: 给定一个数字N,打印从1到最大的N位数. 输入: 每个输入文件仅包含一组测试样例.对于每个测试案例,输入一个数字N(1<=N<=5). 输出: 对应每个测试案例,依次打印从1到 ...
- 剑指Offer的学习笔记(C#篇)-- 对称的二叉树
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 一 . 题目分析 递归法. 一.空树判断,单独搞出来. 二.非空树. 递归:一 ...
- js实现考试随机选题
考试的时候经常用到,发在这里记录一下 基本信息包括: 学号.姓名.题号.题目名称 实现原理:给每一个题目添加一个编号,JS生成随机数,遍历每一个学生,把题目根据生成的随机数作为题目编号放入学生信息中 ...
- json 打印
JsonObject jsonObj = new JSONObject(); jsonObj.put("success",true); jsonObj.put("msg& ...