Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2006-04-27

Re: "Регулярные выражения"

Здравствуйте, Neco!

> Сильно сомневаюсь, что возможно - хотя бы даже потому, что может быть
> и такое выражение:
> LowerCase((DateTimeToStr(Now)+")");
> Выражение неверно, но пары скобок имеются.
>
> Или
> LowerCase(DateTimeToStr(Now)); // )
> Выражение верно, но одна скобка лишняя.

А еще вот такое:
LowerCa)se(DateTim(eToStr(Now));
оно тоже пройдет тест, хотя неверно в принципе.
То есть, если счетчик до конца строки (или до // ) стал меньше нуля, то
строка с ошибкой.

> Имхо, тут нужно два прохода, даже при подходе без регулярных выражений
> - первым исключаем все ненужные скобки (вырезаем текст между каждой
> нечётной и чётной кавычками, между символами /* и */ и всё что дальше
> //).
> - вторым реально считаем.

По-моему можно обойтись дополнительной переменной "выключателем":
встретилась " или /* - не учитывать скобки до следующей " или */ .
А символы // можно воспринимать как конец строки.

С уважением, AleX

Номер выпуска : 5300
Возраст листа : 949 (дней)
Количество подписчиков : 544
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/542702
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2006-04-27 23:35:39 (#542702)

Re: "Регулярные выражения"

>, comp

Решение найдено!

Вот Регулярное Выражение -> (\(((?>[^()]+)|(?1))*\))

Большое спасибо всем.

   2006-04-27 21:03:27 (#542650)