【发布时间】:2018-11-06 16:06:10
【问题描述】:
我想出了以下 PCRE 正则表达式:
[12]\d{3}(-)?(?(1)(0[1-9]|1[0-2]))(-)?(?(3)(0[1-9]|[12]\d|3[01]))
它匹配以下日期格式:
- 2018-10-03
- 2011-03
- 2003
如您所见,我使用条件语句来检测是否存在指示日期下一部分的破折号。不幸的是,javascript 不支持条件语句。如何将其转换为正则表达式?我尝试过使用包含替代方案的非捕获组,但我没能做到。
编辑:
我不能使用任何 JS 函数,因为正则表达式将用于pattern HTML5 输入属性。
【问题讨论】:
-
"它可以通过非捕获组来解决" "我尝试使用包含替代方案的非捕获组,但我没有设法做到。"我不能使用 jquery 或任何其他 javascript 函数,因为此正则表达式将用于
pattern字段 (HTML5)。
标签: javascript regex date