首页 > 解决方案 > PHP使用正则表达式从字符串中提取所有日期

问题描述

我需要帮助。我想从下面的字符串中提取所有日期。使用正则表达式或任何其他功能有什么帮助吗?我尝试使用下面的 PHP 代码,但出现错误:警告:preg_match():编译失败:在偏移量 13 处缺少右括号。

<?php
$matches = [];
if (preg_match('/b>|-(.*?)-| (/', $dates["scheduled"], $matches) == 1) {
  var_dump($matches);
}
?>

谢谢。

<br>5449431|&nbsp;<b style='color:orange;'>SCHEDULED&nbsp;</b>|04/02/2021| ($56.49)<br>
<br>5449616|&nbsp;<b style='color:orange;'>SCHEDULED&nbsp;</b>|04/09/2021| ($51.49)<br>
<br>_______|&nbsp;<b style='color:orange;'>SCHEDULED&nbsp;</b>|04/16/2021| ($51.49)<br>

标签: php

解决方案


您需要转义正则表达式元字符|(删除这些-字符,如下所示:

<?php
$matches = [];
if (preg_match('/b>\|(.*?)\| \(', $dates["scheduled"], $matches) == 1){
  var_dump($matches);
}
?>

推荐阅读