【发布时间】:2016-12-08 10:19:16
【问题描述】:
我正在尝试使用正则表达式从文本详细信息中提取日期,但我使用的正则表达式没有返回任何内容。
我用来从字符串中提取日期的 PHP 代码:
<?php
preg_match("/(\w\w\w)\,(\w\w\w) (\d\d)\,(\d\d\d\d) at (\d\d)\:(\d\d) ([A|P]M)/", $input_line, $output_array);
?>
输入字符串示例:
kardashian, kim this is dummy text area
mercury, freddie Tue, Aug 23, 2016 at 2:21 PM
22.11.2016 08:58 AM
last_name, first_name
bjorge, philip
预期输出:
Tue, Aug 23, 2016 at 2:21 PM
请告诉我为什么我的正则表达式不起作用。
提前感谢您的帮助。
【问题讨论】:
-
密切注意空格(在第一个逗号之后缺少一个,而在 AM/PM 之前有太多空格)。
-
/(\w{3}), (\w{3}) (\d{1,2}), (\d{4}) at (\d{1,2}):(\d{2}) ([AP]M)/- 长话短说:您的空格不匹配,您预计小时数为 2 位数(在您的示例中只有 1,2:21)
标签: php regex date preg-replace preg-match