PHP正则表达式不';不能在真正的服务器上工作

PHP正则表达式不';不能在真正的服务器上工作,php,regex,Php,Regex,我有正则表达式来检测西里尔语的名字、中间名和姓氏 ([А-Я][а-я]+\s+[А-Я][а-я]+[.|\s|][А-Я][а-я]+[.|\s|]) 使用: preg_match_all('/([А-Я][а-я]+(\\s|.|[ ])[А-Я][а-я]+(\\s|.|[ ])[А-Я][а-я]+)/','it\'s a test string with a name like Васильців Василь Васильович and Петро Петрович Петре

我有正则表达式来检测西里尔语的名字、中间名和姓氏

([А-Я][а-я]+\s+[А-Я][а-я]+[.|\s|][А-Я][а-я]+[.|\s|])
使用:

preg_match_all('/([А-Я][а-я]+(\\s|.|[ ])[А-Я][а-я]+(\\s|.|[ ])[А-Я][а-я]+)/','it\'s a test string with a name like Васильців Василь Васильович and Петро Петрович Петренко смисми ВВ Аммм Мммм Аааааа',$ar);
结果是:

Array
(
    [0] => Array
        (
            [0] => �асил�
            [1] => �асил�
            [2] => �асильови�
            [3] => енко
            [4] => мисми
            [5] => �ааааа
        )

    [1] => Array
        (
            [0] => �асил�
            [1] => �асил�
            [2] => �асильови�
            [3] => енко
            [4] => мисми
            [5] => �ааааа
        )

    [2] => Array
        (
            [0] => �
            [1] => �
            [2] => �
            [3] => �
            [4] => �
            [5] => �
        )

    [3] => Array
        (
            [0] => �
            [1] => �
            [2] => �
            [3] => �
            [4] => �
            [5] => �
        )

)
它在PHP中运行良好,但在PHP中不起作用(它检测错误的文本部分)。 你能解释一下什么地方出了问题,或者提示我使用更好的在线服务吗?

我有一个-
u
选项运行良好:

preg_match_all('/([А-ЯЁ][ёа-я]+(?:[\\s.][ЁА-Я][ёа-я]+){2})/u','it\'s a test string with a name like Васильців Василь Васильович and Петро Петрович Петренко смисми ВВ Аммм Мммм Аааааа',$ar);
print_r($ar);
此外,我将空间部分收缩为一个未被美化的时期,以及模式本身

输出:

Array                                                                                                                                                                
(                                                                                                                                                                    
    [0] => Array                                                                                                                                                     
        (                                                                                                                                                            
            [0] => Петро Петрович Петренко                                                                                                                           
            [1] => Аммм Мммм Аааааа                                                                                                                                  
        )                                                                                                                                                            

    [1] => Array                                                                                                                                                     
        (                                                                                                                                                            
            [0] => Петро Петрович Петренко                                                                                                                           
            [1] => Аммм Мммм Аааааа                                                                                                                                  
        )                                                                                                                                                            

)      

检查添加
u
是否有帮助:
'/([А-Я][а-а]+(\\s |.|]])[А-Я][Я-а]+[u'
您尝试过unicode转义\uxxx吗?还有一个问题:如果您还想捕获字母
ё
,则需要将其作为单独的字符添加到范围中。对不起,开始时忘记了,现在添加。(如果答案对你有用的话,请考虑一下投票。)