Javascript正则表达式/ ^(19 | 20)([0-9] {2})-([0-9] {2} | 0 [0-9] {1})-([0-9] {2} | 0 [0-9] {1})$ / g未找到日期作为输入值

时间:2019-04-05 03:58:27

标签: javascript regex

,谢谢。 我创建了一个

/^(19|20)([0-9]{2})-([0-9]{2}|0[0-9]{1})-([0-9]{2}|0[0-9]{1})$/g

js模式,但在浏览器中不起作用。 我测试了Here。工作正常,但在浏览器js中不起作用

3 个答案:

答案 0 :(得分:2)

遵循正则表达式应进行预期的检查。

(df.diff()/df.rolling(2).sum()).eval('abs(Quantity/Price)')
0    NaN
1    8.0
dtype: float64

答案 1 :(得分:1)

您应该可以将正则表达式编写为以下代码之一。

(19|20)\d{2}-\d{2}-\d{2}

请参阅以下JS代码段:

var date = ' 2019-04-03 ';
var regex = /(19|20)\d{2}-\d{2}-\d{2}/g;
var result = date.match(regex);

console.log(result[0]);

取决于使用什么字符串来匹配正则表达式,可能是因为使用^和$会给您带来麻烦。使用^断言行首的位置。并使用$声明行末的位置。当然,这意味着如果您的字符串为“ 1999-01-01”且同一行上带有空格或任何其他文本,则该字符串将不匹配。

请注意,如果您希望它可以工作任何一年,而不仅仅是1900年到2099年,则必须使用下面的方法。

\d{4}-\d{2}-\d{2}

请务必注意,这会捕获任何看起来像日期的内容,例如2099-99-99仍会被捕获,但不是有效日期。如果要进行日期验证,则正则表达式看起来会很难得多,有关{年等的示例,请参见Regex to validate date format dd/mm/yyyy。根据您的用例,让Javascript进行验证可能会更容易。

答案 2 :(得分:0)

那是可行的。谢谢。

release