如何形成模式,以便从时间标记中提取XXXX-XXX-XX?
我在$字符串中搜索的行是:
<time datetime="XXXX-XXX-XX" itemprop="birth">
我想提取部分:
XXXX-XX-XX
我有这个,但它不起作用:
preg_match(''<time datetime="d{4}-d{2}-d{2}"',$string,$date);
echo $date[0] . "<br />";
我发现正则表达式太令人困惑了。。。任何好的教程推荐也会很棒!感谢您的时间和帮助。
干杯
您需要使用'd
来代替d
。
此外,您还需要将正则表达式括在一对分隔符中。
类似:
preg_match('/'<time datetime="'d{4}-'d{2}-'d{2}"/',$string,$date);
您忘记了分隔符、一些转义符和捕获组:
preg_match('/<time datetime="('d{4}-'d{2}-'d{2})"/',$string,$date);
echo $date[1] . "<br />";
您的模式需要/../
preg_match('/'<time datetime="d{4}-d{2}-d{2}"/',$string,$date);
编辑:看看蒂姆的回答,你也需要捕捉小组。