Commentaires

La séquence (?# marque le début d'un commentaire, qui se termine à la prochaine parenthèse fermante. Les parenthèses imbriquées ne sont pas autorisées. Les caractères entre ces délimiteurs ne jouent alors aucun rôle dans le masque.

Si l'option PCRE_EXTENDED est activée, les caractères dièses # non protégés en dehors d'une classe de caractères introduisent un commentaire qui continuera jusqu'à la prochaine ligne dans le masque.

Exemple #1 Usage de commentaire dans un masque PCRE

<?php

$subject
= 'test';

/* (?# peut être utilisé pour ajouter des commentaires sans activer PCRE_EXTENDED */
$match = preg_match('/te(?# ceci est un commentaire)st/', $subject);
var_dump($match);

/* Les espaces et # sont traités comme faisant partie du masque sauf si PCRE_EXTENDED est activé */
$match = preg_match('/te #~~~~
st/'
, $subject);
var_dump($match);

/* Quand PCRE_EXTENDED est activé, tous les caractères d'espacement et tout ce
qui suit un # non échappé sur la même ligne sont ignorés */
$match = preg_match('/te #~~~~
st/x'
, $subject);
var_dump($match);

L'exemple ci-dessus va afficher :

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