PHP正则表达式匹配模式\\域\用户名

时间:2013-03-25 04:02:12

标签: php regex string match preg-match-all

我正在尝试使用PHP匹配\ domain \ username格式的字符串,我无法让它返回数组中匹配的部分。

$username = "\\domain\jason";    
$login = preg_match_all("/^\\\\[a-z0-9\-]+\\[a-z0-9\-]+$/i", $username, $found);
    var_dump($found);
    array
      0 => 
        array
          empty

我用在线测试仪测试了我的常规经验,它完全符合字符串。

http://gskinner.com/RegExr/

2 个答案:

答案 0 :(得分:1)

您可以使用此代码:

$username = "\\domain\jason";
if (preg_match_all('~\\\\?(\w+)~', $username, $arr))
   print_r($arr[1]);

输出:

Array
(
    [0] => domain
    [1] => jason
)

答案 1 :(得分:1)

如果您知道字段由\分隔,请执行以下操作:

$username = '\\domain\jason';

$arr = explode('\\', $username);

echo $arr[1]; // domain
echo $arr[2]; // jason

<强> [ DEMO ]