Python 计算一个字符串正则表达式会起作用吗?

问题描述

基本上我想要完成的是每当一个数字在方括号内的字符串之前,方括号内的字符串应该重复多次。我正在学习正则表达式,我发布了一个问题,我如何为这个场景想出一个正则表达式,人们很友好地让我得到我想要的东西。基本上,下面的代码根据正则表达式解析字符串,并为我提供一个删除所有方括号的列表,以便我可以遍历列表并获得我想要的输出。
给定一个字符串 s,我的代码如下。但这并不适用于所有场景。但是,这在没有嵌套方括号时有效。

import re
s = "abc3[cd]xyz"
s_final = ""
res = re.findall(r'\d+|[^\W\d_]+',s)
print(res)
for i in range(len(res)):
    if res[i].isnumeric():
        s_final+=int(res[i])*res[i+1]
    else:
        if res[i] not in s_final:
            s_final += res[i]
print(s_final)

如果我将字符串更改为

s = "3[a2[c]]" 预期的输出是 accaccc,因为首先计算内部方括号,然后计算外部方括号。但我得到的是 aaacc 根据我拥有的代码,这并没有错。但是有人对我如何正确评估字符串有任何见解吗?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)