问题描述
基本上我想要完成的是每当一个数字在方括号内的字符串之前,方括号内的字符串应该重复多次。我正在学习正则表达式,我发布了一个问题,我如何为这个场景想出一个正则表达式,人们很友好地让我得到我想要的东西。基本上,下面的代码根据正则表达式解析字符串,并为我提供一个删除所有方括号的列表,以便我可以遍历列表并获得我想要的输出。
给定一个字符串 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 (将#修改为@)