1

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/

4

2 に答える 2

1

次のコードを使用できます。

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

出力:

Array
(
    [0] => domain
    [1] => jason
)
于 2013-03-25T04:07:31.123 に答える
1

フィールドがで区切られていることがわかっている場合は、次のように\します。

$username = '\\domain\jason';

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

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

[デモ]

于 2013-03-25T04:15:36.650 に答える