Как стать автором
Обновить

Комментарии 21

Регулярки - не сложно, но стоит ими не пользоваться какое-то время и полностью выветриваются из головы.

Благо есть куча сервисов, которые позволяют быстро вспомнить.

Да чем угодно не пользуйся какое-то время, и оно выветривается. И особенно печально когда от тебя на собесе хотят "вынь да положь".

мне так отказали, потому что я в тестовом не использовал регулярки, хотя в требованиях не было четкого пункта

очередной урезанный справочник :(

но регулярки обожаю!

Испанский язык очень простой, запомните "ола! " и "дос сервезас, пор фавор". Есть и другие слова, но он необоснованно усложняют язык и легко заменяются на уже изученные конструкции

Было бы хорошо соблюдать единую терминологию, тогда все и запоминается лучше и взаимопонимание проще.
Не повторения, а квантификаторы.
Не операторы, а метасимволы и якоря

И да, крайне важно не запоминать символы, а запоминать категории, чтобы понимать как они работают. Тогда и читать регулярки легко, и создавать адекватные, не излишне усложненные получается.

Добавьте подзаголовок "Рубрика вредные советы" для:

  • Нежадное сопоставление, *? и +? Это часто встречается при использовании набора символов. Вместо этого обычно можно использовать более строгий набор символов отрицания, например [^%].

  • Диапазоны повторения, например, {1,2}. Просто продублируйте свой шаблон или используйте? или * в группе.

На полном серьёзе такие замены называются "упрощением"

Не туда написал. Хотел под основной трэд написать, но промахнулся. С телефона не вижу кнопки "удалить комментарий".

Да в общем-то туда, как раз получаем
"повторения", "нежадное сопоставление",
А ведь и то и то - квантификаторы.

regex101: build, test, and debug regex

  • можно под конкретный язык

  • есть короткая и куда более полезная аннотация

  • ответ отлично парсится и описывается

  • ....

Понятно есть много других, но я, если надо отладить выражение и процесс начинает стопориться, иду на него

Статья - просто трата времени

Я уже боюсь комментарии с критикой писать, сразу минус в карму прилетает

буду только благожелательные

Имею ввиду критику на статью

Сейчас ещё очень удобно генерить регулярки при помощи нейронок

Вообще так, невредно понимать разницу в возможностях между регулярным конечным автоматом, всё состояние которого, грубо говоря, укладывается в одну переменную типа int, и стековым конечным автоматом, состояние которого - стек переменных типа int (тоже грубо говоря).

Например, никакая регулярка не сможет проверить сбалансированность скобок, а стековый автомат сделает это с лёгкостью.

В некоторых языках, например, Перл, регулярки умеют в рекурсию. Разумеется, такая грамматика совсем не регулярная, но с практической точки зрения это может быть удобно, если вдруг понадобится.

Обстоятельная статья на эту тему была: https://habr.com/ru/articles/545150/

Зачем плодить сущности - непонятно, тем более когда статья и не туда и не сюда. Чем мне нравится та статья, там достаточно примеров до и после, а именно этим понимается различие и работа регулярок (если кто-то не может продумать путь от конечных автоматов к регуляркам). Здесь - сухое описание не лучше дескриптивной документации. Мне также не нравится авторский стиль "ignore this" (или его форма прятать под спойлеры). Это текст и читается он сверху вниз и весь. Если бы это было введением к чему-то - ладно, но само по себе оно не состоятельно.

Здесь есть параллель с логикой булевых операций:

ab означает “a И b”

Не согласен с таким объяснением для новичков, это "a И ЗАТЕМ СЛЕДУЕТ b".

Категорически не согласен с "не используйте \w". Именно на шорткатах получаются действительно простые регулярки, которые даже легко читать. И поддерживаются они почти везде. В остальном же весьма любопытное изложение

Более того, в некоторых интерпретаторах \w отлично мэтчит кириллицу и остальные наборы буквенных символов, что в условиях того языка, на котором мы тут общаемся, очень удобно. Городить аналог для юникода как раз испортит читаемость

Очень странный текст, я вроде регекс знаю чуток, но этот текст все равно тяжело понять. Почему это точки не нужны? Почему Вы говорите что вот эти сложные операторы "?:" не нужны, зачем вы тогда их сюда вообще включили. Не понятно. Да и сами определения в Вашей статье приходилось перечитывать по нескольку раз чтобы понять, что у Вас там написано.

с регулярками самое главное - это регулярность! )))
А вообще есть один момент, который подзапаривает. В нектоых продуктах, например SIEM-системах, системах логгирования и мониторинга, антииврусах можно использовать регулярки. Но вот что ставит в ступор, так это то, что в каждой из этих систем не все выражения поддерживаются, те, что поддерживаются могут работать не так или по дргому как принято. И об этом написано под маленькой звездочкой где-то в корпоративной документации, которую еще надо найти.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий