gpt4 book ai didi

用 9 替换所有尾随零的正则表达式

转载 作者:行者123 更新时间:2023-12-01 02:35:56 24 4
gpt4 key购买 nike

我正在尝试实现 BigInt 减一,并希望优化我的代码。现在我只是遍历数字字符串,例如“1241241291919191904124142398623500000000000000”并且为了减一,所有尾随零都需要用九替换。

我将如何用正则表达式做到这一点?

什么是使用正则表达式实现 BigInt 减法(字符串)函数的聪明方法?它有几个特殊情况。

这是我到目前为止匹配尾随零的内容:

m = re.search('(?<=[1-9])0+$', '91000')

最佳答案

使用 lookahead assertion :

import re
s = "1241241291919191904124142398623500000000000000"
r = re.compile("""0 # Match 0
(?= # only if the following can be matched here:
0* # zero or more 0s
$ # until the end of the string.
) # End of lookahead assertion""", re.VERBOSE)

现在你可以做
>>> r.sub("9", s)
'1241241291919191904124142398623599999999999999'

关于用 9 替换所有尾随零的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10275135/

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