Комментарии

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

В случае, если используется модификатор PCRE_EXTENDED, неэкранированный символ '#' вне символьного класса также означает начало блока комментария, который длится до конца текущей строки.

Пример #1 Использование комментариев в шаблоне PCRE

<?php

$subject
= 'test';

/* (?# можно использовать для добавления комментариев без включения PCRE_EXTENDED */
$match = preg_match('/te(?# this is a comment)st/', $subject);
var_dump($match);

/* Пробелы и # рассматриваются как часть шаблона, если не включён PCRE_EXTENDED. */
$match = preg_match('/te #~~~~
st/'
, $subject);
var_dump($match);

/* Когда PCRE_EXTENDED включён, все пробелы и всё, что следует за неэкранированным # в той же строке, игнорируется. */
$match = preg_match('/te #~~~~
st/x'
, $subject);
var_dump($match);

Результат выполнения данного примера:

int(1)
int(0)
int(1)