gpt4 book ai didi

python - 组合多个详细的 python 正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:05 24 4
gpt4 key购买 nike

我希望通过组合较小的可重用模式来创建一些 python 正则表达式,并且我希望可重用模式使用详细标志。例如,假设我有一个简单的数字模式和一个小写字符模式,

DIGIT_PATTERN = re.compile(r"""
(?P<my_digit_pattern> # start named group
\d+ # 1 or more integers
) # close named group
""", re.VERBOSE)
CHAR_PATTERN = re.compile(r"""
(?P<my_char_pattern> # start named group
[a-z] # a character
) # close named group
""", re.VERBOSE)

有没有办法创建一个由上述模式组成的新模式?类似这样的东西,

NEW_PATTERN = CHAR_PATTERN followed by DIGIT PATTERN followed by CHAR_PATTERN

我想要匹配字符串a937267t。上面的示例高度简化,但要点是如何组合使用 verbose 标志定义的正则表达式。

更新

这就是我到目前为止所拥有的......可能是唯一的方法......

NEW_PATTERN = re.compile(
CHAR_PATTERN.pattern +
DIGIT_PATTERN.pattern +
CHAR_PATTERN.pattern,
re.VERBOSE
)

我不得不放弃命名组,因为不能有两个组命名相同,但我认为这就是我正在寻找的。

最佳答案

NEW_PATTERN = re.compile(r"""
(?P<my_new_pattern> # start named group
[a-z] # a character
\d+ # 1 or more integers
[a-z] # a character
) # close named group
""", re.VERBOSE)

关于python - 组合多个详细的 python 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54247198/

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