2024年PHP日本大会

注释

序列 `(?#` 标记注释的开始,注释一直持续到下一个右括号。不允许嵌套括号。构成注释的字符在模式匹配中完全不起作用。

如果设置了 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)

添加备注

用户贡献的注释

此页面没有用户贡献的注释。
To Top