正则表达式re模块的详解-python
1.元字符([ ]),它用来指定一个character class。所谓character classes就是你想要匹配的字符(character)的集合.字符(character)可以单个的列出,也可以通过"-"来分隔两个字符来表示一个范围。例如,[abc]匹配a,b或者c当中任意一个字符,[abc]也可以用字符区间来表示---[a-c].如果想要匹配单个大写字母,你可以用[A-Z]。
2.元字符[^]. 你可以用补集来匹配不在区间范围内的字符。其做法是把"^"作为类别的首个字符;其它地方的"^"只会简单匹配 "^"字符本身。例如,[^5] 将匹配除 "5" 之外的任意字符。同时,在[ ]外,元字符^表示匹配字符串的开始,如"^ab+"表示以ab开头的字符串。
3. 元字符(\),元字符backslash。做为 Python 中的字符串字母,反斜杠后面可以加不同的字符以表示不同特殊意义。
4.元字符($),匹配字符串的结尾或者字符串结尾的换行之前。
5.元字符(*),匹配0个或多个
6.元字符(?),匹配一个或者0个
7.元字符(+), 匹配一个或者多个
8,元字符(|), 表示"或",如A|B,其中A,B为正则表达式,表示匹配A或者B
9.元字符({})
re.match
- 在字符串的开始位置匹配,如果匹配成功将返回MatchObject(值为True),否则返回None(值为False)。
- 函数原型
def match(pattern, string, flags=0)
- 参数说明
- pattern:正则表达式
- string:要匹配的字符串
- flags:控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等
re.search
- 检测整个字符串,找到第一个匹配项,如果匹配成功将返回MatchObject(值为True),否则返回None(值为False)。
- 函数原型
def search(pattern, string, flags=0)
- 参数说明
- pattern:正则表达式
- string:要匹配的字符串
- flags:控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等
re.sub
- 将字符串中的匹配项替换为其他
- 函数原型
def sub(pattern, repl, string, count=0, flags=0)
- 参数说明
- pattern:正则表达式,匹配被替换的项
- repl:替换为该项
- string:要匹配的字符串
- count:替换的个数,默认为0时表示全部替换
re.split
- 根据匹配项来分割字符串
- 函数原型
def split(pattern, string, maxsplit=0, flags=0)
- 参数说明
- pattern:正则表达式
- string:要匹配的字符串
- maxsplit:最大的分割次数,默认为0时表示全部分割
re.findall
- 获取字符串中的所有匹配项
- 函数原型
def findall(pattern, string, flags=0)
- 参数说明
- pattern:正则表达式
- string:要匹配的字符串
re.compile
- 把正则表达式(以字符串书写的)编译成一个模式对象,提高一定的匹配效率,可用来重复使用
- 函数原型
def compile(pattern, flags=0)
正则表达式re模块的详解-python的更多相关文章
- Python Deque 模块使用详解,python中yield的用法详解
Deque模块是Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除. https://blog.csdn.net/qq_3 ...
- 关于Python正则表达式findall函数问题详解
关于Python正则表达式 findall函数问题详解 在写正则表达式的时候总会遇到不少的问题, 特别是在表达式有多个元组的时候.下面看下re模块下的findall()函数和多个表达式元组相遇的时候会 ...
- python之模块datetime详解
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块datetime详解 import datetime #data=datetime.dat ...
- Python 双向队列Deque、单向队列Queue 模块使用详解
Python 双向队列Deque 模块使用详解 创建双向队列Deque序列 双向队列Deque提供了类似list的操作方法: #!/usr/bin/python3 import collections ...
- 详解Python模块导入方法
python常被昵称为胶水语言,它能很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松联结在一起.python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的 ...
- [转帖]Nginx rewrite模块深入浅出详解
Nginx rewrite模块深入浅出详解 https://www.cnblogs.com/beyang/p/7832460.html rewrite模块(ngx_http_rewrite_modul ...
- 详解Python中re.sub--转载
[背景] Python中的正则表达式方面的功能,很强大. 其中就包括re.sub,实现正则的替换. 功能很强大,所以导致用法稍微有点复杂. 所以当遇到稍微复杂的用法时候,就容易犯错. 所以此处,总结一 ...
- 详解Python编程中基本的数学计算使用
详解Python编程中基本的数学计算使用 在Python中,对数的规定比较简单,基本在小学数学水平即可理解. 那么,做为零基础学习这,也就从计算小学数学题目开始吧.因为从这里开始,数学的基础知识列位肯 ...
- opencart 模块开发详解
opencart 模块开发详解 由 xiekanxiyang » 2013年 7月 11日 10:17 pm opencart 将页面分成若干模块, 每个模块可以有多个实例(可能这样说不是很恰当) 每 ...
随机推荐
- Java栈,PC寄存器,本地方法栈,堆,方法区(静态区)和运行常量池
详情参考:https://my.oschina.net/wangsifangyuan/blog/711329 前言:当要判断一个变量存在什么空间上哪儿时,先分析它是哪一种(是实例变量还是局部变量),实 ...
- HDU1664 BFS + 数论 + 剪枝
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1664 , 一道比较蛋疼的搜索题. 这道题有很多坑点,一点处理不好就要TLE. 题意很简单,就是找到一个 ...
- Redis基础数据结构
Redis数据库中每个键值对都是由对象( c 的结构体对象)组成的. 数据库键总是一个字符串对象(string object) 数据库键的值可以使字符串对象.列表对象(list object).哈希对 ...
- IBM中国
https://www.ibm.com/developerworks/cn/linux/l-memory/
- python_19_编码解码
msg="我爱北京天安门" #字符串转成Byte类型 print(msg.encode())#encode 编码 print(msg.encode(encoding="u ...
- Abode Dreamweaver cc 安装与激活
原文链接Abode Dreamweaver CC是Adobe宣布放弃Creative Suite系列产品后推出的新版Creative Cloud产品,功能上修复了CS6中出现的选取代码不精准的问题,最 ...
- Java之JDK的下载与安装,java环境变量的配置,Editplus的下载与使用
JRE(Java Runtime Environment Java运行环境) 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发 ...
- C#图片上传获取二进制流保存至AD
<form id="form1" runat="server"> <div> <asp:FileUpload ID="F ...
- ASP.NET 与 Ajax 的实现方式
Ajax 应该不是一项技术,是一种思想而已,跟 ASP.NET 以及其它 Web 开发语言没有什么太大关系,这里只是谈谈 ASP.NET 中目前使用的 Ajax 技术以及其它一些实现 Ajax 的优秀 ...
- js数据结构与算法--递归
递归,函数自己调用自己 return 返回值, 后面的代码不执行 function fn(num){ console.log(num) if(num == 0){ return; } fn(num-1 ...