LINUX.ORG.RU

perl regexp vs ruby regexp ( классы символов)


0

0

Остались от перловодов такие вот конструкции [^]] или к примеру [^[].

Я рубишник и работая с такими регулярками мне приходится делать экранирование [] скобок внутри [] скобок, интересует в чем правда.

Почему в перле так глупо или слишком умно, организовано данная работа.

как бэ использовать [] тебя никто не заставляет, если внутрях много [] юзать можно дохрена других символов %% // || и.т.п.

anonymous2 ★★★★★
()

А вообще, в перле слишком много синтаксической свободы, и иногда её приходится искусственно ограничивать, чтобы не было каши. Так что, если перл позволяет не экранировать [ и ], то это не значит, что этого не надо делать.

friday ★★★
()

Потому что это правильное поведение в соответствие со стандартом POSIX. Если вы подтянете матчасть, то узнаете, что грамотное расположение специальных символов единственный способ их указания в [] по POSIX - ибо экранирование там не работает.

То что в перле слишком много синтаксической свободы и PCRE позволяет экранировать через \ еще не повод это делать.

// зопейсал: регулярки в руби ни POSIX, ни PCRE не реализуют полностью.

dccp
()
Ответ на: комментарий от paranormal

А что касается POSIX - он убог, я не говорю что надо по полной пользоваться oniguruma но POSIX Regexp для маргиналов.

paranormal ★★
() автор топика
Ответ на: комментарий от paranormal

>А что касается POSIX - он убог, я не говорю что надо по полной пользоваться oniguruma но POSIX Regexp для маргиналов.

Насколько я понимаю в POSIX используется ДКА, а в PCRE - НКА. В теории POSIX быстрее должен быть.

Absurd ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.