序列 (?# 標記註解的開始,一直持續到下一個右括號。不允許巢狀括號。組成註解的字元在模式比對中完全不起作用。
如果設定了 PCRE_EXTENDED 選項,則字元類別之外未逸出的 # 字元會引入一個註解,該註解會持續到模式中的下一個換行字元。
範例 #1 在 PCRE 模式中使用註解
<?php
$subject = 'test';
/* (?# 可用於添加註釋,無需啟用 PCRE_EXTENDED */
$match = preg_match('/te(?# 这是一个注释)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)