python re模块findall()函数实例解析

yipeiwu_com6年前Python基础

本文研究的是re模块findall()函数的相关内容,首先看看实例代码:

>>> import re 
>>> s = "adfad asdfasdf asdfas asdfawef asd adsfas " 
 
>>> reObj1 = re.compile('((\w+)\s+\w+)') 
>>> reObj1.findall(s) 
[('adfad asdfasdf', 'adfad'), ('asdfas asdfawef', 'asdfas'), ('asd adsfas', 'asd')] 
 
>>> reObj2 = re.compile('(\w+)\s+\w+') 
>>> reObj2.findall(s) 
['adfad', 'asdfas', 'asd'] 
 
>>> reObj3 = re.compile('\w+\s+\w+') 
>>> reObj3.findall(s) 
['adfad asdfasdf', 'asdfas asdfawef', 'asd adsfas'] 

按以上代码例子讲解:

findall函数返回的总是正则表达式在字符串中所有匹配结果的列表,此处主要讨论列表中“结果”的展现方式,即findall中返回列表中每个元素包含的信息。

@1.当给出的正则表达式中带有多个括号时,列表的元素为多个字符串组成的tuple,tuple中字符串个数与括号对数相同,字符串内容与每个括号内的正则表达式相对应,并且排放顺序是按括号出现的顺序。

@2.当给出的正则表达式中带有一个括号时,列表的元素为字符串,此字符串的内容与括号中的正则表达式相对应(不是整个正则表达式的匹配内容)。

@3.当给出的正则表达式中不带括号时,列表的元素为字符串,此字符串为整个正则表达式匹配的内容。

总结

以上就是本文关于python re模块findall()函数实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

Python面向对象类编写细节分析【类,方法,继承,超类,接口等】

本文实例讲述了Python面向对象类编写技术细节。分享给大家供大家参考,具体如下: 类代码编写细节 继续学习类、方法和继承。 class语句 以下是class语句的一般形式: cla...

django自带serializers序列化返回指定字段的方法

django orm 有个defer方法,指定模型排除的字段。 如下返回的Queryset, 排除‘username', 'id'。 users=models.UserInfo.ob...

Tensorflow 自带可视化Tensorboard使用方法(附项目代码)

Tensorflow 自带可视化Tensorboard使用方法(附项目代码)

Tensorboard: 如何更直观的观察数据在神经网络中的变化,或是已经构建的神经网络的结构。上一篇文章说到,可以使用matplotlib第三方可视化,来进行一定程度上的可视化。然而T...

Python程序设计入门(3)数组的使用

1、Python的数组可分为三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素。定义方式:arr = [元素] (2) Tuple 固定的数组,一旦定义后,其...

Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

去空格及特殊符号 s.strip().lstrip().rstrip(',') Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。 复制字符串 #s...