javascript - 正则表达式 - 我做错了什么吗?

标签 javascript regex

这是 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/

相关文章:

javascript - TinyMCE 4-如何在将自身粘贴到文本编辑器上时允许某些样式?

javascript - 正则表达式删除用加号替换所有空格和逗号

regex - Perl6 : how to use <alpha> in user-defined character class or range?

c# - 我可以在 C# 中获取每个正则表达式组匹配计数吗?

javascript - ES6 模块范围

javascript - 为什么我的函数之间的 setTimeouts 不起作用?

javascript - Visual Studio 中用于 Ajax 和 JavaScript 库的 IntelliSense

javascript - Javascript 函数完成后 Overlay Div 消失

r - 基于变异内匹配正则表达式的条件 str_replace?

javascript - 如何使用 JavaScript 将字符添加到字符串的随机空间?