Andrey999
Май 6, 2015 14:46:18
Доброго, всем, времени суток.
Задача такая: Написать код (с помощью регулярных выражений и без них) для Удалить из строки не парные скобки, вместе с их содержимым, если нет закрытых скобок
Пример: ‘abc((abc)(abc’ -> abc((abc)
Решение нужно как обычными способами, так и с помощью регулярных выражений, чтобы проследить отличия, достоинства, недостатки
Заранее благодарен.
FishHook
Май 6, 2015 17:51:42
Andrey999
Удалить из строки не парные скобки, вместе с их содержимым
Парсер перегрелся догадываться, что значить “содержимое непарной скобки”
py.user.next
Май 7, 2015 00:46:17
FishHook
что значить “содержимое непарной скобки”
Ну, типа как содержимое скобок, только там закрывающей нет, поэтому содержимое скобки. (Видно из примера.)
Andrey999
Удалить из строки не парные скобки, вместе с их содержимым
Включить всё до первой открывающей. В цикле запоминать позицию открывающей и добавлять содержимое только с открывающей до закрывающей. Если было добавление, то следующий шаг цикла начинается после закрывающей.
FishHook
Май 7, 2015 05:59:38
py.user.next
(Видно из примера.)
В примере две непарные скобки
Andrey999
‘abc((abc)(abc’
поэтому из него ничего не видно
py.user.next
Май 7, 2015 07:04:38
FishHook
В примере две непарные скобки
Это я проглядел, показалось, что одна там.
Скорее всего, пример неправильный, потому что повторное применение снова поменяет строку.