gpt4 book ai didi

python - Python 有没有办法创建与正则表达式匹配的组件元组?

转载 作者:行者123 更新时间:2023-12-01 04:08:34 25 4
gpt4 key购买 nike

Python 有没有办法创建与正则表达式匹配的组件元组?例如,这就是我正在尝试做的事情。

import re
pattern = '^[A-Z]{5} [0-9]{6}(C|P)[0-9]{1,3}$'
str = 'ABCDE 020816C110'
m = re.match(pattern,str)
print m.group()
ABCDE 020816C110

我想要制作类似于 ('ABCDE','020816','C','110') 的内容(基于正则表达式中的部分 )如果我的模式不同,比如说,

pattern = ^[A-Z]{1,4} [A-Z]{2} [A-Z]$
str = 'ABC FH P'

我最终会得到('ABC','FH','P')看来我必须拆分正则表达式的组件,这些组件将因模式而异。

我正在考虑仅使用组件模式对 re.search 进行 n 次单独调用,但我怀疑我总能找到合适的子字符串,否则它会返回超过我想要的。

最佳答案

使用捕获组:

>>> pattern = '^([A-Z]{5}) ([0-9]{6})(C|P)([0-9]{1,3})$'
>>> m = re.match(pattern, str)
>>> m.groups()
('ABCDE', '020816', 'C', '110')

关于python - Python 有没有办法创建与正则表达式匹配的组件元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35275295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com