REGEX为2种日期格式

时间:2017-09-11 12:01:14

标签: regex

我想允许两种不同的日期格式:

  

2017年1月1日和2017年1月1日

我正在使用此正则表达式,但它不起作用:

re = /^(\d{1,2})\/(\d{1,2})\/(\d{4})|[0-9]{1,2}\-[a-zA-Z]{3}\-[0-9]{4}/;

1 个答案:

答案 0 :(得分:5)

对备选方案进行分组并添加字符串锚点的结尾:

/[()]/.test(str)

请参阅regex demo

如果没有分组构造,re = /^(?:\d{1,2}\/\d{1,2}\/\d{4}|\d{1,2}-[a-zA-Z]{3}-\d{4})$/; ^^^ ^ ^^ 仅应用于^,而另一个替代方案将在字符串中的任何位置进行搜索。

如果没有(\d{1,2})锚点,即使找到的模式不在字符串的末尾,模式也可以匹配(并且您将获得部分匹配)。