Комментарии 22
сохраню-ка в избранное. очень удобно будет Вашу статью новичкам давать для изучения регулярок.
спасибо :)
спасибо :)
Вообще есть шикарная книга по регулярным выражениям, Дж. Фридл — «Регулярные выражения»
страниц 20 хватит чтобы суметь решить любые рядовые задачи
на у после её прочтения на регулярках можно думать ) она вроде небольшая даже, страниц в 100 (честно — не помню)
страниц 20 хватит чтобы суметь решить любые рядовые задачи
на у после её прочтения на регулярках можно думать ) она вроде небольшая даже, страниц в 100 (честно — не помню)
А я посоветую изучающим прочитать раздел про pcre на php.net — достаточно сжато и толково написано.
Почему о «некрасивом»?
Регулярка — весьма красивая идея.
Регулярка — весьма красивая идея.
Некрасивый — пишется слитно, и удалите лишний хедер, а то как-то некрасиво:
«Регулярные выражения» или «Просто о не красивом»
«Регулярные выражения» или «Просто о не красивом»
Небольшое дополнение. Вы везде используете 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 и без -Р «умеет» регулярки, просто чуток упрощенные.
> -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
^(?!.*не удалять).*?\n
НЛО прилетело и опубликовало эту надпись здесь
Вёрстку поправить бы, например с этого:
Начну с объяснения, что именно меня подвигло на написание этой статьи,¶
Подвигла меня статья о регулярных выражениях которая публиковалась чуть раньше, кто читает хабру, уже наверняка ее¶
видели, статья честно сказать не понравилась,¶
потому как написать ее написали, но привели какой-то сложный пример в качестве использования и предложение купить книгу в 600+ страниц,¶
что как мне кажется только отпугнет людей, которые могли бы ими воспользоваться.¶
На это:
Начну с объяснения, что именно меня подвигло на написание этой статьи. Подвигла меня статья о регулярных выражениях которая публиковалась чуть раньше, кто читает хабру, уже наверняка ее видели, статья честно сказать не понравилась, потому как написать ее написали, но привели какой-то сложный пример в качестве использования и предложение купить книгу в 600+ страниц, что как мне кажется только отпугнет людей, которые могли бы ими воспользоваться.¶
Начну с объяснения, что именно меня подвигло на написание этой статьи,¶
Подвигла меня статья о регулярных выражениях которая публиковалась чуть раньше, кто читает хабру, уже наверняка ее¶
видели, статья честно сказать не понравилась,¶
потому как написать ее написали, но привели какой-то сложный пример в качестве использования и предложение купить книгу в 600+ страниц,¶
что как мне кажется только отпугнет людей, которые могли бы ими воспользоваться.¶
На это:
Начну с объяснения, что именно меня подвигло на написание этой статьи. Подвигла меня статья о регулярных выражениях которая публиковалась чуть раньше, кто читает хабру, уже наверняка ее видели, статья честно сказать не понравилась, потому как написать ее написали, но привели какой-то сложный пример в качестве использования и предложение купить книгу в 600+ страниц, что как мне кажется только отпугнет людей, которые могли бы ими воспользоваться.¶
Несколько замечаний.
> -P говорит что выражение является регулярным,
-P говорит, что выражение является регулярным выражением в стиле PERL
> Здесь не на много сложнее:
>
1. ненамного пишется всё-таки слитно =)
2. регэксп не соответсвует требованию 3.4 в части «состоит только из меленьких или только больших букв», т.к. строка с разным регистром букв
правильный вариант:
А да… инфо для тех, кто захочет попробовать запустить примеры на freebsd — вам не повезло, там grep -P не работает.
> -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 не работает.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
«Регулярные выражения» или «Просто о некрасивом»