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 Kmeans算法原理深入解析

python Kmeans算法原理深入解析

一. 概述 首先需要先介绍一下无监督学习,所谓无监督学习,就是训练样本中的标记信息是位置的,目标是通过对无标记训练样本的学习来揭示数据的内在性质以及规律。通俗得说,就是根据数据的一些内...

仅用500行Python代码实现一个英文解析器的教程

仅用500行Python代码实现一个英文解析器的教程

语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们对世界的了解可以迅速地发现这些歧义。举一个我很喜欢的例子: 正确的解析是连接“wi...

使用python进行波形及频谱绘制的方法

如下所示: # -*- coding: UTF-8 -*- import wave import numpy as np import matplotlib.pyplot as pl...

使用Python快速制作可视化报表的方法

使用Python快速制作可视化报表的方法

我们可以试用可视化包——Pyechart。 Echarts是百度开源的一个数据可视化JS库,主要用于数据可视化。 pyecharts是一个用于生成Echarts图标的类库。实际就是Ech...

python中将\\uxxxx转换为Unicode字符串的方法

今天碰到一个很有意思的问题,需要将普通的 Unicode字符串转换为 Unicode编码的字符串,如下: 将 \\u9500\\u552e 转化为 \u9500\u552e 也就是 销售...