例如輸入字符串: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 - >應該加上,否則 - >不是 –