Статьи

RegExper: объяснения регулярных выражений

Что делает этот фрагмент кода?…

/^[0-9a-zA-Z]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$/

Те, у кого есть опыт разработки в течение нескольких лет, поймут, что это регулярное выражение. Но даже самому проницательному гуру понадобится несколько минут, чтобы определить, проверяет ли он действительность адреса электронной почты. Только превосходное подмножество этой группы поймет, что оно довольно поверхностно и не проверит все возможности.

Регулярные выражения – это чрезвычайно мощные шаблоны поиска, которые можно использовать для сопоставления и замены строк. Они поддерживаются в большинстве языков, включая JavaScript, PHP, Perl, Java, C #, Python и Ruby.

Отдельные правила обычно просты, например, [a-z]c.t Однако, когда правила объединяются, начинает появляться неразборчивая строка, казалось бы, случайных кодов. Приведенный выше сравнительно простой по сравнению со многими, что вы найдете в дикой природе.

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

К счастью, Джефф Аваллоне создал решение ваших проблем с регулярными выражениями. RegExper преобразует бессмысленные выражения на основе JavaScript в графическое представление:

Regexper

По общему признанию, вам все еще нужно разумное понимание сопоставления с образцом, но гораздо более очевидно, что выражение анализирует адрес электронной почты.

За кулисами RegExper – это приложение Ruby, которое переводит регулярные выражения в изображение SVG. SVG встроен в страницу, но должна быть возможность извлечь или скопировать его для использования в вашей собственной документации.

Если вы хотите внести улучшения или автоматизировать процесс, проект имеет открытый исходный код и доступен для загрузки или разветвления с github.com/javallone/regexper .

RegExper невероятно умный. Несмотря на то, что существует множество инструментов, которые помогут вам разработать и протестировать регулярные выражения , очень немногие позволяют анализировать или анализировать существующий код. Я не нашел ни одного, который делает это так красиво тоже.

Добавьте RegExper в свой инструментарий, и вы будете анализировать регулярные выражения с новым энтузиазмом. Наверное.