Comments 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 документе, которые не содержанют строку «не удалять»?
Подскажите пожалуйста, если не сложно.
Подскажите пожалуйста, если не сложно.
UFO just landed and posted this here
UFO just landed and posted this here
Мне кажется как-то так:
^(?!.*не удалять).*?\n
^(?!.*не удалять).*?\n
UFO just landed and posted this here
Вёрстку поправить бы, например с этого:
Начну с объяснения, что именно меня подвигло на написание этой статьи,¶
Подвигла меня статья о регулярных выражениях которая публиковалась чуть раньше, кто читает хабру, уже наверняка ее¶
видели, статья честно сказать не понравилась,¶
потому как написать ее написали, но привели какой-то сложный пример в качестве использования и предложение купить книгу в 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 не работает.
Sign up to leave a comment.
«Регулярные выражения» или «Просто о некрасивом»