php - 在字符串中搜索日期值
问题描述
这是我目前的情况:我将动态字符串保存到变量 $content 中。
使用此代码,我得到了我的 $content 的所有值,其数字格式为 x.xx
preg_match_all('/\d+\,\d+/m', $content, $matches);
现在我想另外获取所有日期值。例如:
14.10.2021
10/14/2021
10. October 2021
年份也可能是 21 而不是 2021。这里有很多可能的版本。
还有一个 preg_match_all 解决方案吗?或者有没有办法说:
给我字符串的所有值,php 在哪里找到有效日期?
十分感谢 !!
解决方案
使用DateTime
类通常是处理日期的好主意,但我想您需要提取它们,因为您的字符串不仅包含日期。由于月份,使用 RegEx 会导致较长的模式:
\d{2}(\.|\/)?(\d{2}\1|\s(January|February|March|April|May|June|July|August|September|October|November|December)\s)(\d{4}|\d{2})
但它符合以下条件:
\d{2}
2 位数(\.|\/)?
可选的点或斜线(组捕获 n°1)(
\d{2}\1
2 位数字后跟组捕获 n°1|
或者\s(January|February|March|April|May|June|July|August|September|October|November|December)\s
一个月左右有空格
)
(\d{4}|\d{2})
2 或 4 位数字
推荐阅读
- elasticsearch - 搜索具有不同字段的多个索引
- react-native - npm 错误!缺少脚本:android
- azure - Azure Web 应用程序是 503 服务不可用。我如何让它恢复运行?
- javascript - axios post方法400错误请求
- css - 如何在 HTML 中进行这样的布局?
- android - TextToSpeechApi 的抽象方法“com.google.api.gax.tracing.ApiTracer”错误,如何解决?
- node.js - 登录到生成和销毁多个子进程的项目中的单个文件?
- swift - 使用相同的个性化键盘填充不同的 UITextField
- maps - Google Places API 查找附近的地方
- javascript - Appendchild 仅适用于最后一个元素