例如输入字符串:Python。如何删除多余的/错误的括号中的字符串
s = "fo)o)fus()(bar((em)ro(em))dah((y(XXX)"
因此,我预计:
fus()((em)ro(em))dah(XXX)
这就像结果应该包含所有“健康”块,它们之间打开“(”和“关闭”)“+”健康“文本。所有生病的部位应该被删除:“fo)”和“o)”,因为它们不涉及“()”,它们不在“()”之间或不包含在“()”中。
例如对于检查:
z = "))(OMG)123(()qwe(zxc)(ll"
应该返回 (OMG)123()qwe(zxc)
我会认为它可以解决与re
模块楷书。但我不知道应该使用哪种算法。注:我不会拒绝任何帮助。 :)
到目前为止你有什么想法? – Jan
我试着翻译括号来增加/减少数字,用索引映射它并得到应该包含的部分。 ()()(y(XXX)“ -1 -2 -1 -2 -1 0 1 0 1 0 -1 -2 -1 0 1 0 –
如果进入反向模式: 索引从x增加到x + 1 - >应该加上,否则 - >不是 –