gpt4 book ai didi

Python3正则表达式转义函数

转载 作者:行者123 更新时间:2023-11-28 22:19:13 25 4
gpt4 key购买 nike

所以我得到了一串可变长度的数字,我需要使用该字符串中的数字找到所有可能的数字组合,其中只有中间的数字可以更改,例如:

如果给我 123,我需要找到 1x2y3 的组合,其中 x、y 是任意数字

如果给我 5312,我需要找到 5a3b1c2 的组合,其中 a、b、c 是任意数字

我认为使用 python 的 re.escape 函数是可能的,这是我目前所知道的:

#Given the digits '123' from STDIN

#create a string "1\d2\d3"
my_regex_string = '\d'.join(input().split())

#Set x as starting point, set y as limit (not the most efficient)
x = 10**(len(my_regex_string)-1) * int(my_regex_string[0])
y = 10**(len(my_regex_string)-1) * (int(my_regex_string[0]) + 1)

while x < y:
if bool(re.match(re.escape(p), str(x)))
print(x)
x+=1

我需要反馈,我的方法是否有意义?此任务是否可以使用正则表达式完成,还是我需要其他方法?

最佳答案

我认为,就像 wolfrevokcats 所说的那样,执行此操作的 pythonic 方法是使用 itertools.product 函数。像这样的代码:

from itertools import product

s = input()
r = "{}".join(list(s))
c = [int(r.format(*f)) for f in product(range(0,10), repeat=len(s)-1)]

关于Python3正则表达式转义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49907285/

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