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.当给出的正则表达式中不带括号时,列表的元素为字符串,此字符串为整个正则表达式匹配的内容。

相关推荐
B2_Proxy37 分钟前
IP 来源合规性,正在成为全球业务的隐性门槛
网络·爬虫·网络协议·安全
Hello.Reader1 小时前
面向 403 与域名频繁变更的合规爬虫工程实践以 Libvio 系站点为例
爬虫·python·网络爬虫
m0_663234011 小时前
Libvio.link爬虫技术与反爬攻防解析
爬虫
Serendipity_Carl2 小时前
1637加盟网数据实战(数分可视化)
爬虫·python·pycharm·数据可视化·数据清洗
瑶池酒剑仙5 小时前
Libvio.link爬虫技术解析大纲
爬虫·python
喵手5 小时前
Python爬虫实战:构建 Steam 游戏数据库:requests+lxml 实战游戏列表采集与价格监控(附JSON导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集steam商店游戏列表数据·sqlite数据库存放采集数据·价格监控游戏推荐市场分析
zhengfei6115 小时前
高级网络安全爬虫/蜘蛛
爬虫
恬淡如雪6 小时前
Excel接口测试自动化实战
爬虫·python·excel
m0_663234016 小时前
Libvio.link爬虫技术全解析
爬虫
深蓝电商API7 小时前
httpx库异步爬虫实战对比aiohttp
爬虫·httpx