说说如何在 Python 的正则表达式中使用分组
发布日期:2021-06-29 21:02:32
浏览次数:3
分类:技术文章
本文共 900 字,大约阅读时间需要 3 分钟。
通过在正则表达式中使用括号可以创建 “ 分组 ” ,比如这个正则表达式 (\d\d\d)-(\d\d\d-\d\d\d\d) 利用括号,创建了两个分组。
1 group() 方法
可以使用 group() 方法,从一个分组中获取所匹配的文本。
传入整数 1 或 2, 就可以取得匹配文本的不同部分。 向 group() 方法传入 0 或不传入参数,将返回整个匹配的文本。
phone_num_regex=re.compile(r'(\d\d\d\d)-(\d\d\d\d\d\d\d\d)')mo=phone_num_regex.search('我的联系号码为: 0591-83822032.')print(mo.group())print(mo.group(0))print(mo.group(1))print(mo.group(2))
运行结果:
0591-83822032
0591-83822032 0591 83822032
2 groups() 方法
可以使用 groups() 方法,一次性获取所有的分组。
print(mo.groups())area_code, num = mo.groups()print('area_code=' + area_code)print('num=' + num)
运行结果:
(‘0591’, ‘83822032’)
area_code=0591 num=83822032
groups() 会返回包含多个值的元组,所以我们可以使用多重复制技巧,把每个值赋给一个变量,就像前面的示例所展示的那样:area_code, num = mo.groups()
3 匹配括号
如果需要在文本中匹配括号, 那么需要使用倒斜杠对 (
和 )
进行字符转义。
phone_num_regex = re.compile(r'(\(\d\d\d\d\))-\d\d\d\d\d\d\d\d')mo = phone_num_regex.search('我的联系号码为: (0591)-83822032.')print(mo.group(1))
运行结果:
(0591)
转载地址:https://deniro.blog.csdn.net/article/details/103446173 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月23日 15时38分22秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
DMZ-demilitarized zone 隔离区
2019-04-30
沃学设计图
2019-04-30
网站栏目
2019-04-30
Dojo
2019-04-30
OAuth 2.0学习
2019-04-30
军师旅团营连排班各有多少人
2019-04-30
DotNet NB 学习公众号
2019-04-30
WCF传递Stream时,同时传递其它参数的问题
2019-04-30
abp vNex
2019-04-30
关闭页面前js提示
2019-04-30
window.open关闭后刷新父页面
2019-04-30
ajax异步提交修改按钮文字
2019-04-30
draw.io
2019-04-30
Convert VB.NET to C#
2019-04-30
VB内部函数(三)——财务函数
2019-04-30
Financial.IPmt/Financial.PPmt
2019-04-30
ASP.NET Boilerplate
2019-04-30
服务器后端发展三个阶段
2019-04-30
easyui-快速布局
2019-04-30