javascript - 为什么这个正则表达式不正确?
问题描述
我有以下正则表达式:
\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?
解决方案
使用常规的 js 正则表达式语法。像这样:
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'));
推荐阅读
- c# - 如何在 C# 中将组合框背景颜色绑定到面板背景颜色
- reactjs - 如何根据 IP 重定向到自定义页面
- php - 使用 PHP 对 MySQL 输出进行分组
- php - 如何使用 oauth 从用户那里获取详细信息?
- javascript - 函数内部 >>> TypeError: Cannot read property 'length' of undefined
- c++ - Visual Studio 2019 - 打开花括号时不要插入换行符 (C++)
- odoo - 如何在发票的日记帐分录中反映产品价格和数量的变化
- microsoft-graph-api - 在 Microsoft Graph Api 消息 Id 无故更改
- javascript - NuxtJS | 提交后Axios注册表重新加载页面
- android - 是否可以通过共享 apk 文件将正在开发的应用程序安装到另一台 android 设备?