我正在解析来自控制台的文件中的信息,每行的末尾是日期,但该行也可能已经列出了日期。输入行如下所示:
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.
我错过了什么?