gpt4 book ai didi

python - 如何获得一个并不总是存在的捕获组?

转载 作者:太空狗 更新时间:2023-10-29 16:56:37 33 4
gpt4 key购买 nike

我有一个类似的正则表达式

(\d\d\d)(\d\d\d)(\.\d\d){0,1}

当它匹配时,我可以很容易地得到前两组,但我如何检查第三组是否出现了 0 次或 1 次。

还有另一个小问题:在 (\.\d\d) 我只关心 \d\d 部分,任何其他方式告诉正则表达式 \.\d\d 需要出现 0 或 1 次,但我只想捕获 \d\d 部分?

这是基于解析一个

的问题

hhmmss

具有秒的可选小数部分的字符串(因此它变为

hhmmss.ss

)... 我将 \d\d\d 放在问题中,以便清楚 \d\d 我在说什么。

最佳答案

import re

value = "123456.33"

regex = re.search("^(\d\d\d)(\d\d\d)(?:\.(\d\d)){0,1}$", value)

if regex:
print regex.group(1)
print regex.group(2)
if regex.group(3) is not None:
print regex.group(3)
else:
print "3rd group not found"
else:
print "value don't match regex"

关于python - 如何获得一个并不总是存在的捕获组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16522415/

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