PHP: Регулярные выражения

В регулярных выражениях стоит определиться с разделителями, которые еще называют ограничителями шаблона регулярного выражения. В PHP шаблон должен находиться внутри ограничителей. В качестве ограничителей можно выбрать любой символ, кроме букв, цифр или обратного слеша. Чаще всего в качестве ограничителей шаблона выбирают слеш (/), решетку (#) или тильду (~).

Обычно выбирают решетку (#), так как это достаточно редкий символ в текстах. Выбранный разделитель должен быть парным. Вот несколько примеров шаблонов с различными разделителями:


// ограничители #
$pattern = '#здесь шаблон#';

// ограничители ~
$pattern = '~здесь шаблон~';

// ограничители /
$pattern = '/здесь шаблон/';

Сам шаблон, конечно же, является строкой, поэтому должен быть помещен в кавычки (одинарные либо двойные).

К слову, в JavaScript ограничителями могут быть только слеши и сам шаблон не должен быть обрамлен кавычками, поскольку в JavaScript регулярные выражения реализованы в виде объекта RegExp.

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


/^\d\d\d\d\d\d\d\d\d\d$/

Начало и конец регулярного выражения обрамлены слешем. Знак вставки ^ означает начало строки. Символ \d означает любую цифру. Первый символ и все последующие должны быть цифрой. Знак $ означает конец строки.

С помощью фигурных скобок можно упростить выражение. Мы указываем, что метасимвол \d нужно повторить десять раз.


/^\d{10}$/
Реклама