,谢谢。 我创建了一个
/^(19|20)([0-9]{2})-([0-9]{2}|0[0-9]{1})-([0-9]{2}|0[0-9]{1})$/g
js模式,但在浏览器中不起作用。 我测试了Here。工作正常,但在浏览器js中不起作用
答案 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