preg_matchで使用されるこの種の文字列形式があります。
[Day][MonthAbbr] [Date] [Hour]:[Minutes][AM/PM]
example:
ThuDec 27 2:00am
この$patternとある種のコードがある:
$pattern = "/([A-Z]{2}\w+)([A-Z]{2}\w+)\s+(\w+)\s+(\d+):(\d+)(..)/ims";
$match = array();
if (preg_match($pattern, rtrim($date), $match)) {
echo '<pre>';
print_r($match);
echo '</pre>';
} else {
echo 'Could not parse date.';
}
文字列から月、日、時刻などを抽出することができました。
しかし、なぜ私はキャッチ「日付を解析できませんでした」を思いついたのか疑問に思いました。渡される値が同じであっても。
値とエラーのある値を比較しました。
ThuDec 27 2:00am
ThuDec 27 4:30am (gives the error)
比較するために、以下のスクリーンショットを示します。
preg_matchで使用されているパターンに何か問題がありますか?