Comments 42
Отличная статья :)
Спасибо.
Спасибо.
жесть если это причина невзятия на работу :) но видимо нужно двухсотпроцентное знание регекса и больше ничего :) регексманьяк :)
Цитата из присказки:
Требований к соискателю было много, но главное — требовалось хорошо владеть регулярными выражениями.
Вообще то есть и русский вариант этого комикса, мелькал в комментариях — habrahabr.ru/blogs/regex/55755/#comment_1493328
Побуагагировал, спасибо.
Что ж это за должность, в которой принятие кандидата базируется только на знаниях регекспов и наоборот…
В книге Фридла атомарная группировка по-моему понятней описана. Сам по ней учился, и другим рекомендую.
если бы мне на интервью задали бы такой вопрос, то я бы:
1. сказал, что конечный автомат не может распознать язык сбалансированых скобочных выражений;
2. делают такое регескпами только извращенцы;
3. дал бы интервьюирующему по башке стулом, чтобы он больше никому такие вопросы не задавал;
1. сказал, что конечный автомат не может распознать язык сбалансированых скобочных выражений;
2. делают такое регескпами только извращенцы;
3. дал бы интервьюирующему по башке стулом, чтобы он больше никому такие вопросы не задавал;
Ну и остались бы без работы.
1. дык, не все регексп енджины сделаны на базе конечных автоматов… (а чо, правда не может?)
Иван это автор?
Шедевральный труд!
Прочитал наскоро. Теперь снова буду читать, но вдумчиво.
Прочитал наскоро. Теперь снова буду читать, но вдумчиво.
увлекательное чтиво
Когда-то на ночь от бессоницы предлагался учебник по квантовой физике, теперь же достаточно ограничиться вечерним разбором вхоядщего смс-сообщения с использованием регэкспов. Крепкий сон, титул извращенца и стул в руки будут у вас непременно.
Мощно. Познавательно.
Спасибо.
Спасибо.
Спасибо.
Прокачался.
Прокачался.
Спасибо за отзыв. Был бы еще более признателен, если бы ты объяснил, что именно «охренительно сложно». Детальное объяснение, как продвигается вперед и откатывается назад механизм регексов? Или непосредственно атомарная группировка?
Я всегда стараюсь объяснять, напротив, как можно проще, и то, что что-то в моей статье «охренительно сложно» означает, что я просто не справился со своей задачей. Сам терпеть не могу, когда кто-то что-то невнятно объясняет ;-)
Я всегда стараюсь объяснять, напротив, как можно проще, и то, что что-то в моей статье «охренительно сложно» означает, что я просто не справился со своей задачей. Сам терпеть не могу, когда кто-то что-то невнятно объясняет ;-)
Тебе просто нужна рекурсивная ссылка не на весь регекс, а на его часть, находящуюся в N-х скобках. И тогда решение твоей задачи совсем легко следует из решения задачи из статьи. В статье было так:
У тебя же вначале добавится
Соответственно, это «нечто в фигурных скобках» нужно поместить в круглые скобки, на которые и будет ссылаться
В итоге получаем:
/ \( ( [^)(]++ | (?R) )++ \) /x
У тебя же вначале добавится
"noindex":, вместо литеральных (обозначающих самих себя) символов круглых скобок \( и \) встанут символы фигурных скобок \{ и \}, и, самое главное, ссылка (?R) поменяется на (?1), чтобы искать «нечто в фигурных скобках» без предшествующего
"noindex":
Соответственно, это «нечто в фигурных скобках» нужно поместить в круглые скобки, на которые и будет ссылаться
(?1)
В итоге получаем:
/ "noindex": ( \{ ( [^}{]++ | (?1) )++ \} ) /x
Очень жаль что приходится учить некоторых индивидумов такому легкому функционалу.
Если бы Иван дочитал в книжке до главы ретроспективные и проспективные проверки, то прошел бы собеседование.
Sign up to leave a comment.
Атомарная группировка, или Ни шагу назад!