Я хочу написать регулярное выражение в python, которое находит такие строки, как: (), () (), (()), () (()), (((()))) ... и замените их пустой строкой. ввод - это только последовательность скобок. открывающая и закрывающая скобки должны быть равны, но не похожи на) (. ((), (,), () ((, ())) не принимаются.
input : "()(())(("
output : "(( "
input :
"()()"
output :
""
input :
"((()))"
output :
""
input :
"(("
output :
"(("
input :
")()("
output :
")("
Я написал этот код, но он может найти только определенное c количество скобок:
a = re.sub("(\(){2}(\)){2}", "", a)
одно решение - найти один «()» и поместить его через некоторое время l oop вот так:
a = input()
le = len(a)
while True :
a = re.sub("\(\)", "", a)
if len(a)==le :
break
else :
le = len(a)
print(a)
Я хочу знать, есть ли лучшее решение?