Regex 正则表达式的匹配无效(';\pL';在字符类中不起作用)

Regex 正则表达式的匹配无效(';\pL';在字符类中不起作用),regex,php-7.1,Regex,Php 7.1,为什么PHP对当前代码返回0?我只想验证用户名并允许传递所有可用的字母符号(包括所有字符,如śćę……)。我做错了什么 $var = 'cz -ęsc'; var_dump(preg_match('/^[\pL -]{1,35}$/', $var)); // int(0) 您需要通过设置u标志为您的正则表达式启用Unicode,即: $var = 'cz -ęsc'; var_dump(preg_match('/^[\pL -]{1,35}$/u', $var)); // int(1) 有关

为什么PHP对当前代码返回0?我只想验证用户名并允许传递所有可用的字母符号(包括所有字符,如śćę……)。我做错了什么

$var = 'cz -ęsc';
var_dump(preg_match('/^[\pL -]{1,35}$/', $var)); // int(0)

您需要通过设置
u
标志为您的正则表达式启用Unicode,即:

$var = 'cz -ęsc';
var_dump(preg_match('/^[\pL -]{1,35}$/u', $var)); // int(1)
有关详细信息,请参阅文档中的
u(PCRE\u UTF8)
部分: