2015-01-19 8 views
3

을 보여주는이 내 코드입니다 : 내가 일치 트링하고정규 표현식 오류

<?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); 
?> 

"스칸디나비아 : \", "Swiden \"... 이 코드를 수정 도와주세요.

답변

3

그냥 \ 해결하기 전에 \\ 사용

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

preg_match_all 어떤 문자가 아닌 백 슬래시 문자를 한 번 이상의

'~[^\\\\]+\\\\~' 

[^\\\\]+ 경기를 아래 정규식을 사용합니다.

DEMO

$userinfo = "Scandinavia:\Swiden\Norwaya\Finland\Denmark\Iceland"; 
$userinfo = addslashes($userinfo); 
preg_match_all ('~[^\\\\]+\\\\~', $userinfo, $pat_array); 
print_r($pat_array); 

출력 :

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

)