从字符串中获取一些文本(正则表达式)

时间:2013-04-12 19:30:14

标签: php regex

我有一个字符串:

Lorem Ipsum Dolor Sir 2013-10-22 Lorem Ipsum Dolor...

我该如何约会?我只想要确定日期的部分文本(yyyy-mm-dd)。我尝试了preg_match并且无法获得该部分内容。

3 个答案:

答案 0 :(得分:3)

preg_match('/(\d{4}-\d{2}-\d{2})/', $text, $matches);
echo $matches[1];

\d - any digit
{4} require 4 of the previous match
\d{4}   - require 4 digits

答案 1 :(得分:1)

括号内的匹配放在preg_match的第三个参数中,因此其中的第一项是整个匹配,下一个是括号内的匹配。

preg_match("/(\d{4}-\d{2}-\d{2})/", $text, $regs);
echo $regs[0]; // The whole match is in $regs[0]
echo $regs[1]; // The match inside the 1. parenthesis is in $regs[1]

答案 2 :(得分:1)

您可以使用此正则表达式:

$str = 'Lorem Ipsum Dolor Sir 2013-10-22 Lorem Ipsum Dolor...';
if (preg_match('/(\d{4}-\d{2}-\d{2})/', $str, $match))
   echo $match[1] . "\n";