@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。 下面话不多说了,来一起看看详细的介绍吧 默认已经安装好了python环境了 re库是python3的核心库,不需要pip install,直接import就行 字符本身就是最简单的模式 比如:‘A’, ‘I love you’, ‘test’ 然是注意在定义模式字符串的时候,在前面加上r,它的作用是告诉编译器,接下来的字符串是单纯的字符串,请不要转变为转义字符。, re.match()是常用的函数,如果匹配,返回的是re.Match object.一个库内置的对象。如果没有匹配返回的是None 在正则表达式中,有些字符是有特殊意义的(不是转义字符的那套规则),下面介绍常用的通配符字符 1)”.”:点,代表任何字符,除了换行(newline) 其中group()函数返回匹配的字符,返回类型是str “t” 反斜杠小写t,代表跳格键(tab) “n” 反斜杠小写t,代表换行(new line) “r” 反斜杠小写t,代表回车(return) “d” 反斜杠小写d,代表单个数字0-9 常用的方式,比如[a-zA-Z0-9],或者如果中括号中第一个字符是”^”,代表不是这个范围内的字符 再来个不在范围内的 第三部分介绍了单个通配符,那么怎么定义一串通配符呢,利用一些重复的标志 {x} 大括号加数字,重复确切几次 {x,} 重复至少几次 {x, y} 重复至少x次,不超过y次 比如说想定义一个email的格式,@之前的是一个规则,之后的是一个规则,那么通过()圆括号来分为两组,分别定义在一个正则表达式中 然后如果满足的话,通过group()函数指定返回哪一组的结果 比如 @前为第一部分,w代表代表任何单个字母,数字,下划线,上面已经介绍了,然后就是”w”和”+“和”-“随便哪一个至少一个或者多个 @后为第二部分,其余一样,就是多了个”.”,因为”.“代表的是任意字符了,如果想表达真正的点,用”.”来表示。 区别在于search能从string中寻找任何满足pattern的substring,但是match必须从头开始 如果是match会返回None 寻找string所有满足pattern的substring,然后以list的形式返回 通过compile函数会生成一个pattern对象,这个pattern对象可以直接使用match,search等函数I 非常感谢你的阅读 其实这里不仅有技术,更有那些技术之外的东西,比如,如何做一个精致的程序员,而不是“屌丝”,程序员本身就是高贵的一种存在啊,难道不是吗?[点击加入]想做你自己想成为高尚人,加油!
这篇文章主要给大家介绍了关于python re库的正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用python具有一定的参考学习价值简介 1. 安装
2. 最简单的模式
例子import re pattern = r'Cookie' sequence = 'Cookie' re.match(pattern, sequence)
<re.Match object; span=(0, 6), match='Cookie'>
3. 通配符
re.search(r'Co.k.e', 'Cookie').group()
'Cookie'
re.search(r'Cowkwe', 'Cookie').group()
'Cookie'
re.search(r'CWke', 'C@ke').group()
'C@ke'
re.search(r'Eatscake', 'Eat cake').group()
'Eat cake'
re.search(r'CookSe', 'Cookie').group()
'Cookie'
re.search(r'cddkie', 'c00kie').group()
'c00kie'
re.search(r'^Eat', 'Eat cake').group()
'Eat'
re.search(r'cake$', 'Eat cake').group()
'cake'
re.search(r'Number: [0-6]', 'Number: 5')
<re.Match object; span=(0, 9), match='Number: 5'>
re.search(r'Number: [^0-6]', 'Number: 7')
<re.Match object; span=(0, 9), match='Number: 7'>
4. 重复
re.search(r'Co+kie', 'Cooookie')
<re.Match object; span=(0, 8), match='Cooookie'>
re.search(r'Ca*o*kie', 'Caokie').group()
'Caokie'
re.search(r'Colou?r', 'Color').group()
'Color'
re.search(r'd{9,10}', '0987654321').group()
'0987654321'
5. 分组
email_address = 'Please contact us at: support@datacamp.com' match = re.search(r'([w+-]+)@([w.-]+)', 'tw7613781@gmail.com') if match: print(match.group()) # The whole matched text print(match.group(1)) # The username (group 1) print(match.group(2)) # The host (group 2)
tw7613781@gmail.com tw7613781 gmail.com
6. python库函数re的常用函数
pattern = "cookie" sequence = "Cake and cookie" re.search(pattern, sequence).group()
'cookie'
email_address = "Please contact us at: support@datacamp.com, xyz@datacamp.com" #'addresses' is a list that stores all the possible match addresses = re.findall(r'[w.-]+@[w.-]+', email_address) for address in addresses: print(address)
support@datacamp.com xyz@datacamp.com
n: pattern = re.compile(r"cookie") In: pattern Out: re.compile(r'cookie', re.UNICODE) In: pattern.search('cookie') Out: <re.Match object; span=(0, 6), match='cookie'>
大学的时候选择了自学python,工作了发现吃了计算机基础不好的亏,学历不行这是没办法的事,只能后天弥补,于是在编码之外开启了自己的逆袭之路,不断的学习python核心知识,深入的研习计算机基础知识,整理好了,我放在我们的微信公众号《程序员学府》,如果你也不甘平庸,那就与我一起在编码之外,不断成长吧!
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算