小编经常能在后台收到留言,其中大部分小伙伴询问关于正则表达式,小编结合很多内容,整理出来这篇通俗易懂,直击概要内容。大家可以来了解下。
创新互联服务项目包括常宁网站建设、常宁网站制作、常宁网页制作以及常宁网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,常宁网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到常宁省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
正则表达式简介:
正则表达式(regex)用于探索给定字符串中的固定模式。我们想找到的模式可以是任何东西。可以创建类似于查找电子邮件或手机号码的模式。还可以创建查找以a开头、以z结尾的字符串的模式。
创建模式:
使用正则表达式时,首先需要学习的是如何创建模式。接下来将对一些最常用的模式进行逐一介绍。可以想到最简单的模式是一个简单的字符串。
pattern = r'times' string = "It was the best of times, it was the worst of times." print(len(re.findall(pattern,string)))
为了帮助创建复杂的模式,正则表达式提供了特殊的字符/操作符。下面来逐个看看这些操作符。
1、操作符
这在第一个例子中使用过,可用于找到符合这些方括号中条件的一个字符。
[abc]-将查找文本中出现的所有a、b或c
[a-z]-将查找文本中出现的所有从a到z的字母
[a-z0–9A-Z]-将查找文本中出现的所有从A到Z的大写字母、从a到z的小写字母和从0到9的数字。
Python中运行下列代码:
pattern = r'[a-zA-Z]' string = "It was the best of times, it was the worst of times." print(len(re.findall(pattern,string)))
2、点算符
点运算符(.) 用于匹配除换行符以外的任何字符。运算符优点是,它们可以结合使用。
3、一些元序列
在使用正则表达式时,一些模式会经常被用到。因此正则表达式为这些模式创建了一些快捷方式。最常用的快捷方式如下:
\w,匹配任何字母、数字或下划线。相当于[a-zA-Z0–9_]
\W,匹配除字母、数字或下划线以外的任何内容。
\d,匹配任何十进制数字。相当于[0–9]。
\D,匹配除十进制数字以外的任何数字。
正则表达式函数
目前为止,只使用了 re包中的findall 函数,其实还有很多其他函数。下面来逐个介绍。
1、findall
上面已经使用了 findall。这是我最常使用的一个。下面来正式认识一下这个函数吧。
输入:模式和测试字符串
输出:字符串列表。
#USAGE: pattern = r'[iI]t' string = "It was the best of times, it was the worst of times." matches = re.findall(pattern,string) for match in matches: print(match)------------------------------------------------------------ It It 2、搜索 输入:模式和测试字符串 输出:首次匹配的位置对象。 #USAGE: pattern = r'[iI]t' string = "It was the best of times, it was the worst of times." location = re.search(pattern,string) print(location) ------------------------------------------------------------ <_sre.SRE_Match object; span=(0, 2), match='It'> 可以使用下面编程获取该位置对象的数据: print(location.group()) ------------------------------------------------------------ 'It'
3、替换
这个功能也很重要。当使用自然语言处理程序时,有时需要用X替换整数,或者可能需要编辑一些文件。任何文本编辑器中的查找和替换都可以做到。
输入:搜索模式、替换模式和目标字符串
输出:替换字符串
string = "It was the best of times, it was the worst of times." string = re.sub(r'times', r'life', string) print(string) ------------------------------------------------------------ It was the best of life, it was the worst of life.
python正则表达式应用范围:
1、PAN编号
2、查找域名
3、查找电子邮件地址
下面的正则表达式用于在长文本中查找电子邮件地址。
match=re.findall(r'([\w0-9-._]+@[\w0-9-.]+[\w0-9]{2,3})',string)
以上就是关于正则表达式的详细解析了,如需更多python实用知识,点击进入PyThon学习网教学中心。
分享文章:创新互联Python教程:python正则表达式是什么?怎么用?
分享地址:http://www.gawzjz.com/qtweb2/news20/4020.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联