Регулярные выражения примеры как доказательство их популярности

Регулярные выражения примеры как доказательство их популярности

От автора: мне кажется, что немного «однобоко» освещаю тему регулярок. И у некоторых читателей складывается впечатление, что они присутствуют только в PHP. На самом деле регулярные выражения примеры можно найти во многих других языках и программных технологиях. Так что сегодня мы «завернем» совсем другую сторону, и докажем это.

Начнем поближе

Регулярки используются во множестве языков. Понятно, что рассмотреть все их у нас не получится. Поэтому начинаем «поближе»:

Регулярные выражения примеры как доказательство их популярности

Наверное, как вы уже догадались, предыдущий код иллюстрирует использование регулярок в JavaScript. Сильно углубляться в описание примера не буду. Отмечу только, что в этом языке для сравнения входящей строки с паттерном применяется метод test.

Возвращение в PHP

Теперь на время возвратимся на «родную дорожку». Пример, истину раскрывающий:

Регулярные выражения примеры как доказательство их популярности

В этом коде мы упростили нашу регулярку с помощью метасимвола \d, который обозначает «все цифры». И в первом, и во втором примере мы использовали регулярные выражения, совместимые с Perl или PCRE.

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

Это значит, что разработчику достаточно один раз выучить синтаксис PCRE. А затем можно применять их в различных программных дисциплинах. В отличие от UNIX-совместимых регулярных выражений, синтаксис которых считается устаревшим. Хотя они еще и используются в некоторых утилитах наподобие grep. Но в эти дебри мы не будем совать свой нос :).

Еще один тип

Регулярки бывают разные… Кроме описанных существует еще один тип регулярных – POSIX. Это набор стандартов (один общий стандарт), обеспечивающий «переносимость» программного кода между ОС на основе UNIX.

Но нам повезло, поскольку POSIX по своему синтаксису почти не отличается от PCRE. В последнем типе реализована поддержка метасимволов и еще нескольких «облегчалок». Если интересно, то ознакомьтесь с данной темой самостоятельно. Кстати, в Oracle СУБД используется POSIX.

Теперь опять вернемся в родную «стихию». Вот вам пример из другой системы:

Регулярные выражения примеры как доказательство их популярности

Это наша родная СУБД. В ней также используются регулярки. В MySQL поддерживается синтаксис, «закрепленный» в POSIX. Шаблон регулярного выражения в запросе SQL указывается сразу после оператора REGEXP. Он же RLIKE. То есть предыдущий запрос можно использовать и в таком варианте:

И это не вызовет никаких проблем в виде сообщений об ошибках синтаксиса от СУБД.

Регулярные выражения примеры как доказательство их популярности

Думаю, пока хватит лазить по «чужим» дебрям. Если руки очень чешутся, то можете попутно самостоятельно просветиться о применении регулярок в Java. Но это уже на любителя :).

Метки:

Похожие статьи:

Комментарии Вконтакте: