正規表現^とカッコ()の一致による重複の問題について

957 ワード

私はこのような状況に遭遇してマッチングしますが、毎回繰り返しの先頭にマッチングします.
$file = 'push_1113_20150105000052430.txt';
$file2 = 'confirm_push_1114_20150105000052430.txt';

preg_match('/^(get|push|admin).*.txt/', $file, $rs);
preg_match('/^confirm.*.txt/', $file2, $rs2);

echo '<pre>';print_r($rs);
echo '<pre>';print_r($rs2);

exit;

結果は次のとおりです.
Array
(
    [0] => push_1113_20150105000052430.txt
    [1] => push
)
Array
(
    [0] => confirm_push_1114_20150105000052430.txt
)

の が2つのpushに り し しているのが えますが、これはどういうことですか??
どうして が らないのか、 は でいろいろな みをして、それからこのようにすればいいのです.
preg_match('/^[get|push|admin].*.txt/', $file, $rs);

かっこを かっこに した 、
Array
(
    [0] => push_1113_20150105000052430.txt
)

はさらに る がありますが、まだ ですが、()と[]の いによるものに いありません.