说说如何在 Python 的正则表达式中使用分组
发布日期:2021-06-29 21:02:32
浏览次数:4
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月14日 16时02分18秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MySQL 数据库在dos命令下的基本操作
2019-04-30
MySQL 学习文档 和安装步骤
2019-04-30
在Scrapy中怎样把数据储存到Mysql 或者Redis中
2019-04-30
python 在爬虫中怎样把数据添加到excle样式中
2019-04-30
Scrapy框架介绍和简单创建使用
2019-04-30
python 爬虫中selenium 爬取数据 csv储存思路加代码
2019-04-30
python 爬虫 网易云音乐 抓取
2019-04-30
Django 项目基础的部署步骤流程
2019-04-30
python 爬取天猫店铺商品评论
2019-04-30
python 斗鱼弹幕的爬取一(selenium)
2019-04-30
使用相对对导入 导包报红问题
2019-04-30
UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 116-117: ordinal not in range
2019-04-30
ModuleNotFoundError: No module named ‘pip‘
2019-04-30
美女图片爬虫实例 全代码 爬虫
2019-04-30
python中时间日期相减并转化为秒
2019-04-30
django中迁移表失败怎么办
2019-04-30
python在得到绝对路径时候 \ 转化/
2019-04-30