コンソールからのファイルの情報を解析しています。各行の最後に日付がありますが、その行には既に日付がリストされている場合もあります。入力行は次のようになります。
00029 --> Ticket Received in QUEUE11 by ABCDE on 04/11/2013 at 11: 4/11/2013
00030 07:12. 4/11/2013
(各行番号の前と行末にはスペースがあります)。
ループ内の正規表現はforeach
次のようになります。
if (preg_match("/\s\d{5}\s(.+?)\d{1,2}\/\d{1,2}\/\d{1,4}\s\n/", $line, $match))
{
$note = $match[1];
}
正規表現はThe Regex Coachで機能していますが、コードで機能しない理由が見つかりません。\n があると、どの行とも一致しません。それがなければ、最初のデートの前に断ち切られます。
\r も試してみましたが、何もないのと同じように動作します。ループ内で $note をエコーした後、最終的な出力が次のようになるのを探しています。
Ticket Received in QUEUE11 by ABCDE on 04/11/2013 at 11:
07:12.
私は何が欠けていますか?