Плакаты просто идеальные, потому что красивые и полезные сразу. Распечатайте, повесьте, любуйтесь и пользуйтесь.
Скачать плакат A2
Скачать плакат A3
Плакаты созданы на основе «Regular Expressions Cheat Sheet», автор Dave Child. Оригинал распространяется по лицензии Creative Commons 2.0, в исходный материал были внесены изменения.
Мы в отделе маркетинга повесили на стену стоп-слова glvrd.ru. Давно знаем их наизусть, но иметь под рукой всегда приятно.
Хотели сделать для вас ещё обоину на рабочий стол, “домики” на письменный и куб, который нужно склеить самому. Но все перессорились в спорах об удобстве.
Расскажите, вы пользуетесь плакатами или предпочитаете cheat-sheet в другом формате? И какие регулярные выражения юзаете?
Комментарии (41)
andy_p
22.09.2017 12:08+4Утверждения:
> Плакаты просто идеальные, потому что красивые и полезные сразу.
и
> эти шаблоны основательно не проверялись
противоречат друг другу.FirstJohn Автор
22.09.2017 12:28-2Вы заметили ошибку? Подскажите где — поправим.
redfs
22.09.2017 12:41+4Да сразу навскидку :)
\s — пробел.
whitespace — это не только пробел.FirstJohn Автор
22.09.2017 13:25-11Да, корректнее было бы «пробельные символы», но для новичка, на которого рассчитан такой cheat-sheets, хватит и пробела. А не совсем новичку понятно, что кроется под обобщением.
redfs
22.09.2017 15:58+10но для новичка… хватит и пробела
Своеобразное у вас отношение к целевой аудитории.
kloppspb
22.09.2017 15:09+4Туда же:
\w слово
\W не слово
Что-что?AntonAlekseevich
23.09.2017 06:13Также есть:
\s
пробельный символ
\S
не пробельный символ
Просто заучите их и все.
kloppspb
23.09.2017 10:45Вы это кому и про что?
AntonAlekseevich
23.09.2017 20:25Вы это кому и про что?
Забудьте что это вообще было. (Не туда отправил.)
haldagan
22.09.2017 22:13+3>alphanumeric
Почему только английские для русскоязычной ЦА? Нет примеров для кириллицы и описания «замечательной» работы регексов с утф-8.
>date
Уже ниже отписались.
>password
Лень перепечатывать и проверять (могу ошибаться), но, по-моему вот эта вот часть
.{8,15}
рушит всю логику вашего регекса (8-15 должно относиться к группе)
>email
Нонче доменные имена по типу «xn--e1aybc.xn--p1ai» считаются валидными, ваш регекс не пропустит адрес на таком домене.
Дальше не читал…haldagan
23.09.2017 01:30-1>password
Был неправ насчет группы. Тем не менее конкретно этот регекс принимает строки длиной больше 15 символов.
А вообще подобное из разряда «У вас есть проблема. Вы решили использовать регулярные выражения чтобы её решить. Теперь у вас две проблемы».
Если уж так хочется использовать регулярки в этом примере, то можно ограничиться следующим:
//pseudocode if (pass.test(/^.{8,15}$/) && pass.test(/[0-9]/) && pass.test(/[A-Z]/) && pass.test(/[a-z]/))
Это по крайней мере будет более или менее читабельно выглядеть даже после просьбы вроде «а давай запретим пробелы и кавычки в паролях».
FirstJohn Автор
23.09.2017 13:17-1>alphanumeric
Почему только английские для русскоязычной ЦА? Нет примеров для кириллицы и описания «замечательной» работы регексов с утф-8.
Да, кириллических символов не хватает. Мы взяли лишь часть основных регулярных выражений, потому что все на плакат просто не войдут.
Регулярку для кириллических символов я пожалуй оставлю тут — [а-яА-Я]
>email
Нонче доменные имена по типу «xn--e1aybc.xn--p1ai» считаются валидными, ваш регекс не пропустит адрес на таком домене.
Шаблон проверки email на плакате подойдёт больше для понимания, как строятся регулярные выражения. Он учитывает не все варианты написания email адресов. Регулярное выражение для проверки любого email будет очень длинным.
niya3
23.09.2017 06:44* - 0 или больше
[:space:] - пробельные символы
Как-то странно перемешаны базовые и продвинутые механизмы регулярок. Я бы отправил "утверждения", "подстановки" и "модификаторы" в конец страницы, они не так часто нужны как всё остальное.
FirstJohn Автор
23.09.2017 13:21* — 0 или больше
[:space:] — пробельные символы
Поправили — спасибо!
Как-то странно перемешаны базовые и продвинутые механизмы регулярок. Я бы отправил «утверждения», «подстановки» и «модификаторы» в конец страницы, они не так часто нужны как всё остальное.
Мы расположили блоки по размеру, чтобы верстка выглядела органично. Возможно, для большего удобства можно было расположить группы выражений в другом порядке, но тогда бы разрушилась конструкция самого плаката.
nightvich
23.09.2017 00:25+5Не, ну ребят, зачем выдавать чужое за свое?
Вы в других цветах сделали? Не стыдно? Да еще и на habr постить…
Эта таблица доступна на www.exlab.net
Англоязычный оригинал на AddedBytes.comFirstJohn Автор
23.09.2017 13:22-1Мы действительно взяли за образец этот чит-шит. Очень хотели сделать из него красивый и удобный для распечатки плакат.
Оригинальный материал распространяется по лицензии Creative Commons 2.0. — его можно видоизменять, копировать и распространять. Но вы правы, мы не дали ссылку на оригинал. Исправились — добавили её в материал и на плакаты.
Alex_1985
23.09.2017 13:22Не люблю лезть не в своё дело и кого-либо обижать… но что-то мне кажется, что модераторы на хабре частенько стали пропускать «ненавязчивую рекламу», то «Тиньков» баннеры свои лепит по всей статье, хотя мог рассказывая про свои алгоритмы выбора разных баннеров сделать просто левые картинки и текст, но нет — налепили рекламу, то теперь здесь… или только я увидел строку с рекламой про аренду виртуальных серверов и понимаю что вся статья сделана только для этого?
FirstJohn Автор
23.09.2017 13:23-1Да, у нас корпоративный блог, и как любая компания мы не прочь прорекламировать свои услуги. Но важнее всего — полезный контент. Поэтому в первую очередь плакат с регулярными выражениями. Из рекламы оставили только логотип.
frantic16
23.09.2017 13:23- берем первый cheat sheet из гугла, который влезает на A4
- размазываем по A3
- размазываем по A2
- ...
- PROFIT
FirstJohn Автор
23.09.2017 13:23-1Вы почти угадали, вот только наш дизайнер не просто размазывал, а верстал так, чтобы читы приобрели ритм и не склеивались в один пласт. Ведь это плакат, и он должен выглядеть приятно.
Bubzik
23.09.2017 13:24Шаблон email совсем не годится. Во-первых, цифры могут быть, во-вторых, после точки может быть больше 6-ти символов, типа company или consulting.
redfs
23.09.2017 14:00Шаблон email совсем не годится
Тема regexp и email — вообще отдельная. Примеры в разных источниках пишутся скорее для ознакомления, и при этом они практически все неправильные. И ваш вариант, и на плакате и в букварях…
REALpredatoR
23.09.2017 14:04Просто убийственные вырви-глаз разноцветные надписи на плакатах, которые ничего кроме раздражения не вызывают… пришлось поубирать.
captain_obvious
23.09.2017 18:50+11. Пожалуйста, больше никогда не вываливайте набор символов вроде
#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})
в немоноширинной гарнитуре, это призыв к насилию и вообще экстремизм
2. Электронные адреса не соответствуют никакой регулярной грамматике, а потому и нельзя проверить их никаким регулярным выражением ?\_(?)_/?
3. То, что должно матчить HTML-теги сматчит не только HTML-теги.AntonAlekseevich
23.09.2017 18:59Электронные адреса не соответствуют никакой регулярной грамматике, а потому и нельзя проверить их никаким регулярным выражением ?_(?)_/?
Верно, но все же "
((.*)^@(.*))
" и "(mailto:(.*)^@(.*))
"(Если этоmailto
-ссылка) можно использовать.
То, что должно матчить HTML-теги сматчит не только HTML-теги.
Верно полностью. Так как матчится XML-Tag.
captain_obvious
23.09.2017 19:21Так можно и поматчить их как
.*?
, а чё, все правильные email адреса сматчатся, а на false-positive плевать. На практике, конечно, я согласен с тем, что матчить email адреса нужно по наличию ровно одного @ (ваш регэкс, кстати, сматчит иa@b@c
), а затем просто слать email, если хочется удостовериться, что email валидный (и, более того, скорее всего настоящий).
Reeze
Ловите плюсы