这是 javascript,但实际上相同的正则表达式在 PHP 中也失败了,所以我不认为它是特定于语言的
var r = new RegExp(
"^(:19|20)?[0-9][0-9]" // optional 19/20 start followed by 2 numbers
+ "-" // a hyphen
+ "(:0?[1-9]|1[0-2])" // optional 0 followed by 1-9, or 10, 11, 12
+ "-" // a hyphen
+ "(:3[01]|[12][0-9]|0?[1-9])$" // you get the idea.
);
r.test("2008-07-01"); // == false
我到底错过了什么?
最佳答案
我认为你的非捕获 block 应该是例如(?:19|20)
而不是 (:19|20)
关于javascript - 正则表达式 - 我做错了什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/258062/