gpt4 book ai didi

regex - 使用正则表达式添加前导零

转载 作者:行者123 更新时间:2023-12-03 10:13:55 26 4
gpt4 key购买 nike

我想在字符串的所有数字中添加一定数量的前导零(例如最多3个)。例如:

输入:/2009/5/song 01 of 12
输出:/2009/0005/song 0001 of 0012
用正则表达式执行此操作的最佳方法是什么?

编辑:

我选择了第一个正确答案。但是,所有答案都值得一读。

最佳答案

使用支持回调的内容,以便您可以处理匹配:

>>> r=re.compile(r'(?:^|(?<=[^0-9]))([0-9]{1,3})(?=$|[^0-9])')
>>> r.sub(lambda x: '%04d' % (int(x.group(1)),), 'dfbg345gf345', sys.maxint)
'dfbg0345gf0345'
>>> r.sub(lambda x: '%04d' % (int(x.group(1)),), '1x11x111x', sys.maxint)
'0001x0011x0111x'
>>> r.sub(lambda x: '%04d' % (int(x.group(1)),), 'x1x11x111x', sys.maxint)
'x0001x0011x0111x'

关于regex - 使用正则表达式添加前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2659058/

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