iTEYE

Путеводитель по регулярным выражениям: инструменты и инструкции

3 июля 2009

Источник: smashingmagazine.com

часть любого программерского набора. Они могут пригодиться, если Вам необходимо найти, заменить части текстовых шаблонов или символов. , как швейцарский нож для модификации строк. Хотите чтобы url сайта выглядел приятно? Используйте regex. Нужно удалить всю пунктуацию или убрать все теги? Тем более используйте . Использование регулярных выражений безгранично.

это то, с чем Вам нужно столкнуться как минимум единожды, хотябы для того, чтобы поправить .htaccess файл для создания Человеко-понятных ссылок, или что-то покруче, например для фильтрации RSS фидов или другой информации. Ниже представленно несколько ресурсов, которые помогут Вам на пути изучения и использования regex.

Вступление

Только начали изучение regex? Вот несколько must-read ресурсов, которые познакомят Вас с основами.

Необходимый минимум о регулярных выражениях
Простая и понятная статья о принципах работы с регулярными выражениями.

Screenshot

Обьяснение Регулярных Выражений
В этой статье описываются простые примеры регулярных выражений. Автор старается донести до пользователей технику использования поиска с использованием регулярных выражений.

Регулярные выражения: быстрый старт
Учебник, для начинающих осваивать regex, написанный в легкой и доступной форме.

Screenshot

Использование регулярных выражений в PHP
Небольшой обзор о синтаксисе регулярных выражений в PHP.

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

Регулярные Выражения — путеводитель пользователя
Достаточно полное и всесторонее описание регулярных выражений, с примерами с сносками.

PHP фрики: Регулярные Выражения
Еще одна обьемная статья с основами регулярных выражений; статья также описывает использование метасимволов, жадность и ленивость, а также модификаторы и другие полезные дополнения.

Введение в регулярные выражения от MSDN
Статья описывает введение в и то, как их можно использовать.

Шпаргалка по регулярным выражениям
Данная шпаргалка описывает паттерны и не основывается на каком-то конкретном языке. Доступна в PDF и PNG.

Screenshot

Регулярные Выражения: шпаргалка
Краткое описание использования регулярных выражений для Javascript. Доступна в png.

Screenshot

Регулярные выражения для Perl: шпаргалка (pdf) и Регулярные выражения для Perl: краткое описание (pdf)

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

Регулярные Выражения в Ruby and Rails
в Rails окружены прямыми слешами, тоесть они выглядят следующим образом: /[0-9]*/. Модификаторы, (например регистронезависимый i) ставятся после второго слеша.

Всесторонний разбор

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

Основные понятия на пути к продвинутому использованию регулярных выражений
Это введение в продвинутое использование регулярных выражений, включающее восемь примеров и основных описаний. Каждый пример показывает простой способ соответствия правилам при использовании в сложных последовательностях. Если у Вас нет опыта работы с регулярныеми выражениями, обратите внимание на эту статью для начала. Синтаксис используемый тут, показывается на примере Perl и PHP.

Инструкция Regex
Эта инструкция шаг за шагом учит использовать инструменты и рассказывает обо всех аспектах регулярных выражений. Лучше читать от начала и до конца, т.к. каждая последующая глава основывается на предыдущей.

Screenshot

Регулярные выражения — путеводитель ползователя
Это путеводитель с легким введением и быстрым но конкретным описанием всего, что связанно с regex. Также включает примеры.

Screenshot

perlretut
Очень хорошее руководство о регулярках на Perl. Это руководство достаточно детализированно и хорошо описывает тему. Стоит прочесть от начала до конца.

Screenshot

Ресурсы о регулярных выражениях
Это сборник ресурсов о и про , включает в себя статьи и приложения.

Regex Tools
Примеры для .NET о работе с регулярными приложениями.

Экстримальный regex: все, что нужно, для профессиональной работы с регулярными выражениями
В этой статье описываются жадные и ленивые ругулярные выражения, способы их применения, а также модификаторы, синтаксис и другие основы регулярных выражений.

Практика регулярных выражений

Разбор номера телефона (от Matt83)
Номер соответствует следующей форме: (###) ###-####

Почтовые коды (от Matt83)

Соответствие имен пользователей (от immike.net)

Соответствие XHTML/XML тегам (от immike.net)

Проверка URL (от Matt83)

Парсинг электронной почты (от Matt83)

Валидность номеров кредитных карт (JavaScript, от ntt.cc)

Регулярные Выражения, то, что нужно на практике
Множество regex-паттернов которые часто используются при разработке.

Screenshot

10+ Полезных JavaScript функция для работы с регулярными выражениями.
JavaScript для различных проверок: на пустые строки, на числовые данные, и другое.

RegExLib.com
Первая онлайн библиотека регулярных выражений. На данный момент содержит 2,511 паттернов от более чем 1,500 пользователей. Вы можете выбрать наиболее подходящий пример для своего проекта.

Инструменты Regex

Regex онлайн тестер
Regex позволяет тестировать Ваши с различными входными данными и различными путями.Также можно проводить тестирование с уже готовыми стриницами. Есть откат к предыдушиму изменению, так что при неправильном ходе создания паттерны, можно откатиться назад. Встроенные паттерны, фильтры и возможность использования модификаторов позволят создавать правильные регулярки. Для использования этого инструмента нужны общие знания о регулярных выражениях.

Screenshot

The Regulator
The Regulator — продвинутый и бесплатный инструмент, который позволит оттестировать и поможет понять их устройство. Входные данные могут быть как текстовые, так и уже готовые страницы. Позволяет использовать нахождение вхождений, деление и замену. Строит иерархические деревья паттернов.Может генерировать код VB.NET и C#.

Regular Expression Tester Firefox Plugin
Это плагин для Firefox, который позволяет разработчикам тестировать их . Инструмент включает регистрозависимость, глобальный и многострочный поиск, подсветку вхождений, функцию замены. Автозакрытие параметров, тестирование при написании и сохранение паттернов.

Screenshot

html2regexp — генератор регулярных выражений для HTML
html2 написан на ruby для генерирования регулярных выражений.

reWork
ReWork — это бенчмарк для регулярок. Вводим паттерн и текст в соответствующие поля. Результаты автоматически появлются на экране. Можно применять функции поиска, замены, дробления, сканирования и парсинга, а также генерировать графы конечного автомата (КА).

RegExr
RegExr является онлайн тестером и генератором паттернов ля регулярок. Тут можно поиграться с регулярками перед тем как вводить в свой проект.

Screenshot

The Regex Coach
Кроссплатформеный инструмент который обучит Вас работе с регулярными выражениями.

Screenshot

Rubular
Онлайн тестер паттернов, написанный на Ruby.

Rex V — Regular Expression eValuator
Инструмент тестирует на валидность регулярки написанные для использования в PHP PCRE, PHP Posix и Javascript.

Flex 3 Regualr Expression Explorer
Этот сервис предоставляет доступ к сообществу в котором присутствуют популярные , а также позволяет тестировать свои.

Screenshot

regexpal
Интерактивный javascript тестер для регулярок. Сервис можно установить себе на хостинг, т.к. он является опенсорсным.

Screenshot

Txt2re
Regex генератор с возможностью подсветки синтаксиса и вхождений, который позволит писать паттерны эффективней.

Screenshot

reAnimator: Regular Expression FSA Visualizer
Подручное средство для regex выражений. Для ознакомлений стоит перейти по ссылке launch post.

Screenshot

Javascript Regular Expression Validator
Полезный regex tester для Javascript который также имеет набор уже готовых паттернов. Простой но мощный инструмент.

Screenshot

RegEx Buddy
RegexBuddy, вот кто заслуживает внимания! Лично я пользуюсь только им. Это мощнейшее средство для составления регулярок, с подсветкой синтаксиса, проверкой на валидность, собственной встроенной библиотекой паттернов. Он работает с различными типами регулярок eReg, pReg. Генерирует код сразу для нескольких языков. Имеется откат при неправильном составлении регулярок. Строит иерархию паттерна. Можно применять сразу несколько регулярок к строке последовательно. Вобщем это мой выбор.

Screenshot

На рисунке, как-раз показано построение дерева, которое поможет рассмотреть паттерн шаг за шагом.

Screenshot

Expreso
Expresso — это бесплатное средство для разработчика, завоевавшее различные награды. Вы можете строить комплексные , выбирая из встроенного набора различные паттерны и тестировать на реальных образцах данных. Также имеется возможность генерации кода под Visual Basic, C#, или C++ и просматривать выражения в виде дерева также как это делает RegEx Buddy. Можно подсвечивать группы и отдельные вхождения. Также можно создать дополнительную библиотеку с собственными паттернами и использовать ее для тестирования своих регулярок. Требует регистрации и только под Windows.

JavaScript Regex Generator
Попытка сделать генератор регулярок с дружественным интерфейсом. Есть баги при просмотре в IE. Есть ограничения на работу с регулярками.

Screenshot

Regex видеоуроки

Для тех, кто хочет учить по видеоурокам, есть отличные скринкасты.

Учим Регулярные Выражения (Video Tutorial and Cheatsheet)
В этом видео рассказывается о том, как пользоваться E Text Editor для составления регулярок.

Погружение В Регулярные Выражения
Вводный курс от Джефри Вейя. Немного старенький, но все еще актуальный и полезный туториал по изучению регулярных выражений. Показывается как проверять на валидность электронные адреса. «Для новичка в разработке, самые ужасные конструкции на свете. Для простоты разберем на некоторых примерах. После небольшого изучсения Вы поймете, что регулярки довольно структурированные и не сложные в понимании конструкции.»

Screenshot

Регулярные Выражения для чайников
Вводное видео для изучения регулярных выражений. В конце дается задание для проверки усвренного материала.

Screenshot

Regex для чайников: день 2
Продолжение перврго скринкасиа по изучению регулярок.

Screenshot

Регулярные Выражения (серии)
Пять серий по введению в .

Учебники по регулярным выражениям

Примеры регулярных выражений на PHP
Множество различных примеров регулярных выражений, которые могут использоваться в PHP. Описывается несколько полезных вещей: валидациа номеров кредиток, дат, email адресов, и еще несколько полезных вещей.

Screenshot

Учебник по регуляркам для PHP
Эта статья раскрывает основы использования регулярных выражений в PHP и показывает примеры наиболее распространенных regex-паттернов.

Разоблачение регулярных выражений
кажутся достаточно сложными. Мало того, что язык выглядит довольно странным, он также требует логики. Эта статья старается стереть клеймо, которое некоторые навешивают на , и показывает простоту и логичность паттернов в примерах.

Радость регулярных выражений [1]
Эта обучающая программа использует простые примеры, которые не включают несвязные демонстрационные строки как например “aabbcc”, чтобы показать, как regex работает на самом деле. Статья раскрывает все основные понятия: точное соответствее, позитивное соответствовие, модификаторы шаблона и другие примеры.

Screenshot

Радость регулярных выражений [2]
Во второй обучающей программе показывается как обеспечивают много полезных функций, например, как найти изображения с .jpg расширениями, или нахождение xss уязвимостей в Вашем коде.

Screenshot

Введение в регулярные выражения
Быстрое введение в основы работы с регулярными выражениямии паттернами. Содержит простые примеры на javascript.

Screenshot

Знаете ли Вы регулярные выражения
У IBM есть отличная статья по регулярным выражения в UNIX системах. Читать обязательно.

Screenshot

Регулярные Выражения: две проблемы
Джеф Этвуд (со-основатель Stackoverflow), показывает на практике, как используются . Знание где и как использовать regex иногда очень полезно, и Джеф показывает примеры эффективного использования регулярных выражений.

Screenshot

Об авторе

Глен Стансберри (Glen Stansberry), разработчик и блоггер. В его блоге WebJackalope можно найти много статей по тематике веб разработок. А также можно следовать за ним в твиттере: @webjackalope.

notes, ,

Leave a Reply

Скидки до 5% на заказ хостинга!