Эта тема на forum.dklab.ru


Юра Скляр: проверка наличия в строке непарных скобок
Добрый день.
Вобщем, суть вопроса в том, чтобы проверить большой массив строк на наличие в них непарных скобок
желательно любого вида : (){}[] , а также <>.

В форуме уже была тема http://forum.dklab.ru/other/all/SootvetstvieSkobok.html
в качестве решения там приводят посимвольный обход кахдой строки

возможно есть более элегантное решение ? может используя регулярные выражения ?
Валенок:
Юра Скляр
ну если регулярками: можно заменять что-то вроде такого: /<(.*?)>/ на пустое место... если под конец останется скобка, то значит - неправильно. наверное...
kernel32:
...Однако что будет в случае если скобки будут расположены так: ")("? количество вхождений совпадает?..
C моими знаниями я не могу представить, как можно реализовать ЭТО с помощью регулярных выражений... Всё равно если в некоторый момент при обходе строки по символам кол-во закрывающих скобок больше кол-ва открывающих, то ведь "разметка" скобок неправильная...
Maus:
возможно есть более элегантное решение ?
сомневаюсь. Встроенной функции для обхода с callback-ом мне найти не удалось, а однократное сканирование строки должно быть менее ресурсоёмким, чем что-то ещё.

Эта тема на forum.dklab.ru