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

Комментарии 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 документе, которые не содержанют строку «не удалять»?

Подскажите пожалуйста, если не сложно.
НЛО прилетело и опубликовало эту надпись здесь
Это было введение или начало, для тех кто не знаком или очень мало знаком с р.в.
и у меня небыло цели писать сложные выражения ( а поверь я их писать могу )
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Мне кажется как-то так:
^(?!.*не удалять).*?\n
С тегами:
^<p>(?!.*не удалять).*?</p>\n
НЛО прилетело и опубликовало эту надпись здесь
Вёрстку поправить бы, например с этого:

Начну с объяснения, что именно меня подвигло на написание этой статьи,¶
Подвигла меня статья о регулярных выражениях которая публиковалась чуть раньше, кто читает хабру, уже наверняка ее¶
видели, статья честно сказать не понравилась,¶
потому как написать ее написали, но привели какой-то сложный пример в качестве использования и предложение купить книгу в 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 не работает.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории