详解python里使用正则表达式的分组命名方式
作者:caimouse 时间:2023-10-16 22:02:17
详解python里使用正则表达式的分组命名方式
分组匹配的模式,可以通过groups()来全部访问匹配的元组,也可以通过group()函数来按分组方式来访问,但是这里只能通过数字索引来访问,如果某一天产品经理需要修改需求,让你在它们之中添加一个分组,这样一来,就会导致匹配的数组的索引的变化,作为开发人员的你,必须得一行一行代码地修改。因此聪明的开发人员又想到一个好方法,把这些分组进行命名,只需要对名称进行访问分组,不通过索引来访问了,就可以避免这个问题。那么怎么样来命名呢?可以采用(?P<name>pattern)的格式来命名。
例子如下:
#python 3.6
#蔡军生
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re
text = 'This is some text -- with punctuation.'
print(text)
print()
patterns = [
r'^(?P<first_word>\w+)',
r'(?P<last_word>\w+)\S*$',
r'(?P<t_word>\bt\w+)\W+(?P<other_word>\w+)',
r'(?P<ends_with_t>\w+t)\b',
]
for pattern in patterns:
regex = re.compile(pattern)
match = regex.search(text)
print("'{}'".format(pattern))
print(' ', match.groups())
print(' ', match.groupdict())
print()
结果输出如下:
This is some text -- with punctuation.
'^(?P<first_word>\w+)'
('This',)
{'first_word': 'This'}
'(?P<last_word>\w+)\S*$'
('punctuation',)
{'last_word': 'punctuation'}
'(?P<t_word>\bt\w+)\W+(?P<other_word>\w+)'
('text', 'with')
{'t_word': 'text', 'other_word': 'with'}
'(?P<ends_with_t>\w+t)\b'
('text',)
{'ends_with_t': 'text'}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/caimouse/article/details/78320823
标签:python,正则
0
投稿
猜你喜欢
FckEditor 配置手册中文教程详细说明
2023-06-18 20:35:59
ASP中模拟PHP的关联数组
2009-12-25 16:31:00
BootStrap学习笔记之nav导航栏和面包屑导航
2023-08-16 12:33:22
PHP PDOStatement::fetch讲解
2023-06-04 20:06:02
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2021-09-04 06:14:32
Vue登录拦截 登录后继续跳转指定页面的操作
2024-05-28 15:48:14
python检测远程服务器tcp端口的方法
2021-02-18 22:49:44
如何利用Python动态展示排序算法
2022-03-06 17:23:48
golang常用库之配置文件解析库-viper使用详解
2024-02-17 18:36:46
python+openCV利用摄像头实现人员活动检测
2021-06-23 10:39:36
asp 在线备份与恢复sql server数据库的代码
2010-07-31 18:52:00
Alfred + Gitee搭建免费图床的使用实例详解
2023-10-04 08:24:30
Python中如何向函数传递列表
2022-09-23 19:10:23
go程序测试CPU占用率统计ps vs top两种不同方式对比
2024-05-05 09:27:04
解决django 向mysql中写入中文字符出错的问题
2024-01-23 20:39:00
sql无效字符 执行sql语句报错解决方案
2023-06-24 19:47:45
SQL JOIN 连接详细介绍及简单使用实例
2024-01-22 00:27:50
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2022-05-13 22:15:42
Python减少循环层次和缩进的技巧分析
2023-10-07 21:41:09
mysql一对多关联查询分页错误问题的解决方法
2024-01-28 05:18:44