Pull to refresh

Comments 22

сохраню-ка в избранное. очень удобно будет Вашу статью новичкам давать для изучения регулярок.
спасибо :)
Вообще есть шикарная книга по регулярным выражениям, Дж. Фридл — «Регулярные выражения»
страниц 20 хватит чтобы суметь решить любые рядовые задачи
на у после её прочтения на регулярках можно думать ) она вроде небольшая даже, страниц в 100 (честно — не помню)
больше 400-ста :) правда именно про регулярные выражения там что-то около трёхста)
Почему о «некрасивом»?
Регулярка — весьма красивая идея.
Согласен красивая идея, я имел ввиду вид самого регулярного выражения, его обычно тяжело читать, особенно если автор не вы.
Некрасивый — пишется слитно, и удалите лишний хедер, а то как-то некрасиво:
«Регулярные выражения» или «Просто о не красивом»
«Регулярные выражения» или «Просто о не красивом»
Небольшое дополнение. Вы везде используете Perl-regexp-ы (ключ -Р у grep-а), но на некоторых системах он не работает, например на Маке (grep в 10.5.х пишет grep: The -P option is not supported). Сам же по себе grep использует несколько упрощенные регулярки, не все вещи из мира Perl получатся без опции -Р.
И еще, если уж быть точным до конца:
> -P говорит что выражение является регулярным,

Это неправильно. Ключ -Р означает буквально следующее (man grep):
-P, --perl-regexp
Interpret PATTERN as a Perl regular expression. This is highly experimental and grep -P may warn of unimplemented features.

То есть, интерпретировать выражение как Perl-регулярку. Суть в том, что grep и без -Р «умеет» регулярки, просто чуток упрощенные.
Тут даже что-то вроде социальной сети на основе регэкспов. Можно пользоваться как библиотекой, когда лень составлять свои выражения.
А меня мучает вопрос: как в php удалить все параграфы в html документе, которые не содержанют строку «не удалять»?

Подскажите пожалуйста, если не сложно.
UFO just landed and posted this here
Это было введение или начало, для тех кто не знаком или очень мало знаком с р.в.
и у меня небыло цели писать сложные выражения ( а поверь я их писать могу )
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Мне кажется как-то так:
^(?!.*не удалять).*?\n
UFO just landed and posted this here
Вёрстку поправить бы, например с этого:

Начну с объяснения, что именно меня подвигло на написание этой статьи,¶
Подвигла меня статья о регулярных выражениях которая публиковалась чуть раньше, кто читает хабру, уже наверняка ее¶
видели, статья честно сказать не понравилась,¶
потому как написать ее написали, но привели какой-то сложный пример в качестве использования и предложение купить книгу в 600+ страниц,¶
что как мне кажется только отпугнет людей, которые могли бы ими воспользоваться.¶


На это:

Начну с объяснения, что именно меня подвигло на написание этой статьи. Подвигла меня статья о регулярных выражениях которая публиковалась чуть раньше, кто читает хабру, уже наверняка ее видели, статья честно сказать не понравилась, потому как написать ее написали, но привели какой-то сложный пример в качестве использования и предложение купить книгу в 600+ страниц, что как мне кажется только отпугнет людей, которые могли бы ими воспользоваться.¶
Несколько замечаний.

> -P говорит что выражение является регулярным,
-P говорит, что выражение является регулярным выражением в стиле PERL

> Здесь не на много сложнее:
> user="[\w\d\._\-]+"\s+Passwd="([a-z]|[A-Z]){1,4}"

1. ненамного пишется всё-таки слитно =)
2. регэксп не соответсвует требованию 3.4 в части «состоит только из меленьких или только больших букв», т.к. строка с разным регистром букв 'user="kolya" Passwd="AbcD"' совпадёт. В данном случае ([x]|[y]) — тоже самое, что [xy]. Или так: «Квантификатор за скобки выносить не стоит».
правильный вариант:
user="[\w\d\._\-]+"\s+Passwd="([a-z]{1,4}|[A-Z]{1,4})"

А да… инфо для тех, кто захочет попробовать запустить примеры на freebsd — вам не повезло, там grep -P не работает.
Sign up to leave a comment.

Articles