Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正则表达式显示错误_Php_Regex - Fatal编程技术网

Php 正则表达式显示错误

Php 正则表达式显示错误,php,regex,Php,Regex,这是我的代码: <?php $userinfo = "Scandinavia:\Swiden\Norwaya\Finland\Denmark\Iceland"; $userinfo = addslashes($userinfo); // preg_match_all ("/(.*\\)/U", $userinfo, $pat_array); preg_match_all ("/(.*\)/U", $userinfo, $pat_array); print_r($pat_arra

这是我的代码:

<?php

$userinfo = "Scandinavia:\Swiden\Norwaya\Finland\Denmark\Iceland";


$userinfo = addslashes($userinfo);

// preg_match_all ("/(.*\\)/U", $userinfo, $pat_array);

preg_match_all ("/(.*\)/U", $userinfo, $pat_array);

print_r($pat_array);
?>

我正在尝试匹配“斯堪的纳维亚:\”和“斯威登”。。。。。。
请帮助我更正此代码。

将下面的正则表达式与
preg\u match\u all
一起使用

'~[^\\\\]+\\\\~'
[^\\\]+
匹配任何字符,但不匹配反斜杠字符一次或多次

输出:

Array
(
    [0] => Array
        (
            [0] => Scandinavia:\
            [1] => Swiden\
            [2] => Norwaya\
            [3] => Finland\
            [4] => Denmark\
        )

)
只需在之前使用\\\ 解决方案:

<?php
$userinfo = 'Scandinavia:\Swiden\Norwaya\Finland\Denmark\Iceland';
$userinfo = addslashes($userinfo);
preg_match_all ("/(.*\\\)/U", $userinfo, $pat_array);
print_r($pat_array);
?>

<?php
$userinfo = 'Scandinavia:\Swiden\Norwaya\Finland\Denmark\Iceland';
$userinfo = addslashes($userinfo);
preg_match_all ("/(.*\\\)/U", $userinfo, $pat_array);
print_r($pat_array);
?>