我如何使用 php 从字符串中提取日期

som*_*esh 2 php regex

我需要从字符串中提取日期,下面是我的代码和字符串。

$str = "Updated status to Masters - Software Engineering (Enrolled-
           Documents to Send) on 03/06/2014 14:10 by Rabih Haddad  .";


if(preg_match_all('/.*([A-Za-z]{3,4}, [A-Za-z]{3,4} [\d]{1,2}, [\d]{4}).*/',$str,$matches))
{
    print_r($matches);
}
 else
  echo "not matched";
Run Code Online (Sandbox Code Playgroud)

如何date(03/06/2014)从字符串中提取值。

chr*_*s85 5

只需查找您所追求的特定格式,2 个数字,然后是一个正斜杠,2 个以上的数字,然后是另一个正斜杠,然后是 4 个数字。

\d{2}\/\d{2}\/\d{4}
Run Code Online (Sandbox Code Playgroud)

PHP 用法:

preg_match_all('/\d{2}\/\d{2}\/\d{4}/',$str,$matches)
Run Code Online (Sandbox Code Playgroud)

演示:https : //eval.in/811793

您的正则表达式正在寻找不存在的字符。例如,[A-Za-z]{3,4} [\d]{1,2}, [\d] {4}).*正在查找 3 或 4 个字母字符、一个空格 1-2 个数字、一个逗号、一个空格、一个数字、一个新行、4 个空格,然后是之后的任何内容。

{4}是对的,你只需要把它放在\d. 该\d也不需要在字符类。