python re.match() / re.search() / re.findall()

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。

re.search方法

re.search 扫描整个字符串并返回第一个成功的匹配。否则返回None。

re.finall方法

re.findall 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。

 

注意: match 和 search 是匹配一次 findall 匹配所有。

 

复制代码
import re

a = "123abc456"
print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(0))  # 123abc456,返回整体
print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(1))  # 123
print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(2))  # abc
print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(3))  # 456
print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).groups())  # ('123', 'abc', '456')


打印结果:

123abc456
123
abc
456
('123', 'abc', '456')

正则表达式中的三组括号把匹配结果分成三组

group() 同group(0)就是匹配正则表达式整体结果
group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。
groups() 返回一个包含匹配的所有子组的元组 
复制代码

 

posted @   Avicii_2018  阅读(270)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
历史上的今天:
2019-02-14 pycharm的安装
点击右上角即可分享
微信分享提示