REGEX为2种日期格式

agg*_*icd 1 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}/;
Run Code Online (Sandbox Code Playgroud)

Wik*_*żew 5

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

re = /^(?:\d{1,2}\/\d{1,2}\/\d{4}|\d{1,2}-[a-zA-Z]{3}-\d{4})$/;
       ^^^                       ^                         ^^
Run Code Online (Sandbox Code Playgroud)

请参阅正则表达式演示.

如果没有分组构造,^则仅应用于(\d{1,2}),并且在字符串中的任何位置搜索另一个替代.

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