【发布时间】:2020-05-01 07:38:49
【问题描述】:
我可以有以下字符串:
20200124 (year-month-day)
202001 (year-month)
0124 (month-day)
24 (day)
我正在尝试提出一个正则表达式,以便能够根据捕获组匹配上述所有字符串。 我的正则表达式:
^(?<year>\d{4})?(?<month>\d{2})?(?<day>\d{2})$
注意:到目前为止,我没有考虑对输入的字符串进行任何类型的验证,我目前有兴趣正确匹配它们。
正则表达式存在一些问题,因为它在所有情况下都不能正确匹配。
例如:20200124 匹配正确,而 202001 也匹配,但 01 在 day 组而不是 month 组中匹配。或者2020 匹配month 和day 组
我不确定是否有可能只用一个正则表达式来匹配上面列出的所有可能性?
【问题讨论】:
-
您在“月-日”下列出了
"24";你是说"24"是 2 月 4 日吗?如果是这样,你在“day”下也列出了"24",那么如何区分是哪一种方式解析呢? -
我已经用更清晰的例子更新了这个问题
标签: regex