preg_match()で、狙った文字列に含まれる文字列を余計に取ってしまう
コード

```

    <?php
    $test = 'this is October 02, 2017 today';
    $months = "/(January|February|March|April|May|June|July|August|
    　　　September|October|November|December) [0-3][0-9], 20[0-9]+/";
    
    preg_match($months, $test, $date);
    
    var_dump($date);
    ?>
    
```

`October 02, 2017`が取りたい。  
出力結果

```

    array(2) { [0]=> string(16) "October 02, 2017" [1]=> string(7) "October" }
    
```

狙った文字列は取れているものの、余計に`October`単体でも取れてしまっている。  
何が原因でこのようになっているのか教えてください。
[サブパターン](http://php.net/manual/ja/regexp.reference.subpatterns.php)には種類があり単純な`()`ではキャプチャが行われます。今回`October`が返されたのもキャプチャが行われた結果です。キャプチャを行いたくないサブパターンでは`(?:)`を使用します。

```

    $months = "/(?:January|February|March|April|May|June|July|August|September|October|November|December) [0-3][0-9], 20[0-9]+/";
    
```