Python正则表达式的七个用法范例详解_

Python正则表达式的七个用法范例详解_

ID:63498374

大小:15.29 KB

页数:9页

时间:2021-09-09

Python正则表达式的七个用法范例详解__第1页
Python正则表达式的七个用法范例详解__第2页
Python正则表达式的七个用法范例详解__第3页
Python正则表达式的七个用法范例详解__第4页
Python正则表达式的七个用法范例详解__第5页
资源描述:

《Python正则表达式的七个用法范例详解_》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Python正则表达式的七个用法范例详解_作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际用法过程中还是有一些细小的差别。本文是一系列关于Python正则表达式文章的其中一部分。在这个系列的第一篇文章中,我们将重点商量如何用法Python中的正则表达式并突出Python中一些独有的特性。我们将介绍Python中对字符串进行搜索和查找的一些方法。然后我们讲商量如何用法分组来处理我们查找到的匹配对象的子项。我们有爱好用法的Python中正则表达式的模块通常叫做‘re'。1import

2、re1.Python中的原始类型字符串Python编译器用‘'(反斜杠)来表示字符串常量中的转义字符。假如反斜杠后面跟着一串编译器能够识别的特别字符,那么整个转义序列将被替换成对应的特别字符(例如,‘'将被编译器替换成换行符)。但这给在Python中用法正则表达式带来了一个问题,由于在‘re'模块中也用法反斜杠来转义正则表达式中的特别字符(比如*和+)。这两种方式的混合意味着有时候你不得不转义转义字符本身(当特别字符能同时被Python和正则表达式的编译器识别的时候),但在其他时候你不必这么做(假如特别字符只能被Python

3、编译器识别)。与其将我们的心思放在去弄懂究竟需要多少个反斜杠,我们可以用法原始字符串来替代。原始类型字符串可以简洁的通过在一般字符串的双引号前面加一个字符‘r'来创建。当一个字符串是原始类型时,Python编译器不会对其尝试做任何的替换。本质上来讲,你在告诉编译器完全不要去干涉你的字符串。1string='Thisisanormalstring'2rawString=r'andthisisarawstring'3printstring4这是一个一般字符串5printrawString6andthisisarawstri

4、ng7这是一个原始类型字符串。在Python中用法正则表达式进行查找‘re'模块供应了几个方法对输入的字符串进行准确的查询。我们将会要商量的方法有:re.match()re.search()re.findall()每一个方法都接收一个正则表达式和一个待查找匹配的字符串。让我们更具体的查看这每一个方法从而弄明白他们是如何工作的以及他们各有什么不同。2.用法re.match查找–匹配开头让我们先来看一下match()方法。match()方法的工作方式是只有当被搜索字符串的开头匹配模式的时候它才能查找到匹配对象。举个例子,对字符串‘do

5、gcatdog'调用mathch()方法,查找模式‘dog'将会匹配:1re.match(r'dog','dogcatdog')2_sre.SRE_Matchobjectat0xb743e7203match=re.match(r'dog','dogcatdog')4match.group(0)5'dog'我们稍后将更多的商量group()方法。现在,我们只需要知道我们用0作为它的参数调用了它,group()方法返回查找到的匹配的模式。我还暂且略过了返回的SRE_Match对象,我们很快也将会商量到它。但是,假如我们对同一个字符串调

6、用math()方法,查找模式‘cat',则不会找到匹配。1re.match(r'cat','dogcatdog')23.用法re.search查找–匹配任意位置search()方法和match()类似,不过search()方法不会限制我们只从字符串的开头查找匹配,因此在我们的示例字符串中查找‘cat'会查找到一个匹配:viewsourceprint?1search(r'cat','dogcatdog')2match.group(0)3'cat'然而search()方法会在它查找到一个匹配项之后停止连续查找,因此在我们的示例字符串中

7、用searc()方法查找‘dog'只找到其首次消失的位置。1match=re.search(r'dog','dogcatdog')2match.group(0)3'dog'4.用法re.findall–全部匹配对象目前为止在Python中我用法的最多的查找方法是findall()方法。当我们调用findall()方法,我们可以特别简洁的得到一个全部匹配模式的列表,而不是得到match的对象(我们会在接下来更多的商量match对象)。对我而言这更加简洁。对示例字符串调用findall()方法我们得到:1['dog','dog']2r

8、e.findall(r'cat','dogcatdog')3['cat']5.用法match.start和match.end方法那么,从前search()和match()方法从前返回给我们的‘match'对象”究竟是什么呢?和只简洁的返回字符串的匹

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。