Perl-совместимые регулярные выражения (Perl-compatible regular expressions)
Комментарии (Comments)
There are two ways of including comments in patterns that are
processed by PCRE. In both cases, the start of the comment must
not be in a character class, nor in the middle of any other
sequence of related characters such as (?: or a subpattern name
or number. The characters that make up a comment play no part in
the pattern matching.
The sequence (?# marks the start of a comment that continues up
to the next closing parenthesis. Nested parentheses are not
permitted. If the PCRE_EXTENDED option is set, an unescaped #
character also introduces a comment, which in this case continues
to immediately after the next newline character or character
sequence in the pattern. Which characters are interpreted as
newlines is controlled by the options passed to a compiling
function or by a special sequence at the start of the pattern, as
described in the section entitled "Newline conventions" above.
Note that the end of this type of comment is a literal newline
sequence in the pattern; escape sequences that happen to
represent a newline do not count. For example, consider this
pattern when PCRE_EXTENDED is set, and the default newline
convention is in force:
abc #comment \n still comment
On encountering the # character, pcre_compile()
skips along,
looking for a newline in the pattern. The sequence \n is still
literal at this stage, so it does not terminate the comment. Only
an actual character with the code value 0x0a (the default
newline) does so.