java脚本string.match()无法按预期工作

时间:2016-03-15 01:46:59

标签: javascript regex pattern-matching jsfiddle console.log

我正在尝试将字符串与正则表达式匹配,如下所示。 Jsfiddle按预期返回具有匹配字符串的数组。但是如果我在浏览器控制台中运行以下语句,它将返回null。我尝试过ie11,Chrome,Mozilla。任何人都能解释为什么会出现这种差异吗?我错过了什么。

"201458".match(/^20['^\s']{4,}$|^$/)

1 个答案:

答案 0 :(得分:0)

它不应该匹配。您正在寻找20后跟四个或更多撇号,插入符号或空白字符(后跟字符串结尾); 1不是那些。

  • ['^]是"撇号或插入"。
  • [^']是"不是撇号"。

开始时,Caret只有它的特殊功能;撇号在正则表达式中没有任何特殊功能。

如果您发现这与jsfiddle匹配,请链接所述小提琴;我会非常惊讶。