python中re.search()和re.finall()

文章介绍了Python的re模块中re.search()和re.findall()两个方法的使用。re.search()查找字符串中的第一个匹配项,返回Match对象;re.findall()则返回所有匹配项的列表,每个匹配项是包含分组信息的元组。

先写例子,再总结

(1)re.search()方法

import re

string = "John Doe: 25 years, Jane Smith: 30 years"
pattern = r"(\w+)\s(\w+):\s(\d+)\syears"
match = re.search(pattern, string)
if match:
    print(match.group(0))  # 整个匹配项 "John Doe: 25 years"
    print(match.group(1))  # 第一个分组的内容 "John"
    print(match.group(2))  # 第二个分组的内容 "Doe"
    print(match.group(3))  # 第三个分组的内容 "25"

(2)re.findall()方法

import re

string = "John Doe: 25 years, Jane Smith: 30 years"
pattern = r"(\w+)\s(\w+):\s(\d+)\syears"
matches = re.findall(pattern, string)
for match in matches:
    print(match)  # ('John', 'Doe', '25'), ('Jane', 'Smith', '30')

浅浅总结一下:

re.search()

(1)用于在给定的字符串中查找第一个匹配项
(2)如果正则表达式中有多个分组,它只返回第一个匹配项的信息。
(3)如果匹配成功,search函数返回一个 Match 对象,可使用group()方法来匹配分组中的内容
(4)如果没找到匹配项,则返回 None

re.findall()

(1)findall 函数用于在给定字符串中查找所有匹配项,并返回一个包含所有匹配项的列表。
(2)如果正则表达式中有多个分组,则返回每个匹配项的所有分组内容。
(3) 如果列表中每一个元素表示一个匹配项,元素顺序与字符串中出现顺序相对应。
(4) 分组内容以元组形式返回,其中每个元组表示一个匹配项的分组内容。
(5) 如果没有匹配项,返回一个空列表

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值