PHP preg_last_error PCRE 正则函数
-
定义和用法
preg_last_error - 返回最后一个PCRE正则执行产生的错误代码 -
版本支持
PHP4 PHP5 PHP7 不支持 5.2.0+支持 支持 -
语法
preg_last_error ( void )
返回最后一次PCRE正则执行的错误代码。 -
参数
参数 必需的 描述 无 -
返回值
返回最后一次PCRE正则执行的错误代码。返回下面常量中的一个(查看它们自身的解释):- PREG_NO_ERROR - 没有匹配错误时调用 preg_last_error() 返回。 v5.2.0
- PREG_INTERNAL_ERROR - 如果有PCRE内部错误时调用 preg_last_error() 返回。 v5.2.0
- PREG_BACKTRACK_LIMIT_ERROR - 如果调用回溯限制超出, 调用preg_last_error()时返回。 v5.2.0
- PREG_RECURSION_LIMIT_ERROR - 如果递归限制超出, 调用preg_last_error()时返回。 v5.2.0
- PREG_BAD_UTF8_ERROR - 如果最后一个错误时由于异常的utf-8数据(仅在运行在 UTF-8 模式正则表达式下可用)。 导致的,调用preg_last_error()返回。 v5.2.0
- PREG_BAD_UTF8_OFFSET_ERROR - 如果偏移量与合法的urf-8代码不匹配(仅在运行在 UTF-8 模式正则表达式下可用)。 调用preg_last_error()返回。 v5.3.0
- PREG_JIT_STACKLIMIT_ERROR - 当 PCRE 函数因 JIT 栈空间限制而失败, preg_last_error() 就会返回此常量。 v7.0.0
-
示例
尝试一下preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar'); if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) { print 'Backtrack limit was exhausted!'; }
-