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

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

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

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

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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Валидация чисел</title>

</head>

<body>
 <form name="f">
 Ввведите число: <input type="text" name="chislo" size="3" />
 <input type="button" value="Проверить" onclick="proverka(chislo.value)" />
 </form>
 <script type="text/javascript">
 function proverka(txt) {
 var r = /[0-9]/; 
 if (r.test(txt))
 alert ("Вы ввели число!")
 else
 alert ("Вы ввели не число!")
 }
 </script>
</body>

</html>

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

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

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

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

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
<?php
$str="строки 123 строки";
if(preg_match("/\d/",$str))
{
echo "В тексте есть цифры";
}
else echo "В тексте нет чисел";
?>

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

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

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

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

Еще один тип

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

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

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

SELECT  `GNPOld` FROM `country` WHERE `GNPOld`REGEXP '[0-9]'

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

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

SELECT  `GNPOld` FROM `country` WHERE `GNPOld`RLIKE '[0-9]'

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

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

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

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Хотите изучить регулярные выражения на PHP?

Прямо сейчас посмотрите 12-ти часовой курс по регулярным выражениям на PHP!

Смотреть курс

Метки:

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

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

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree