PHP preg_replace返回编译失败:PCRE不支持

时间:2016-01-18 11:56:56

标签: php

我正在尝试将preg_replace[^\\u0000-\\uFFFF]一起使用 而且我一直在

Compilation failed: PCRE does not support

我该怎么办?

2 个答案:

答案 0 :(得分:3)

PCRE不支持\uXXXX语法。请改用\x{XXXX}。有关详细信息Regular Expression Unicode

此外,您必须双向转义引号(或三元组)内的反斜杠才能获得文字反斜杠:示例如下:

'/\\\u([\d\w]{4})/'

"/\\\\u([\d\w]{4})/"

在您的情况下,正则表达式应为[^\\\u0000-\\\uFFFF]

示例:

$regex = '[^\\\u0000-\\\uFFFF]';

$text = 'some text';

$a = preg_match($regex, $text, $b);

//var_dump($a);
var_dump($b);
var_dump(preg_last_error());

以上示例不会产生任何警告和错误

答案 1 :(得分:1)

PCRE不支持\uXXXX语法。请改用\x{XXXX}。请参阅:php - regular expression - PCRE does not support \L, \l, \N, \P,