我有以下正则表达式:
\d{4}(-\d{2}){2}
应该匹配YYYY-MM-DD
格式的日期,因此1990-01-01应该成功匹配。但是,当我在javascript中尝试时,此操作将失败。
var x = new RegExp('\d{4}(-\d{2}){2}')
x.test('1990-02-01') //why is this false?
答案 0 :(得分:2)
使用常规js regex语法。像这样:
var x = /\d{4}(-\d{2}){2}/;
console.log(x.test('1990-02-01'));
如果要保留new RegExp
部分,则必须转义字符串的反斜杠:
var x = new RegExp('\\d{4}(-\\d{2}){2}');
console.log(x.test('1990-02-01'));