我有这个正则表达式的问题:
(\[|\])[0-9]+,([0-9]+(\[|\])|inf\])\s?.*
当我尝试编写代码时:
var rangeRegex = new RegExp("(\[|\])[0-9]+,([0-9]+(\[|\])|inf\])\s?.*");
console.log(rangeRegex.test("]1,inf] Test Expression"));
我总是得到false
。为什么呢?
答案 0 :(得分:8)
使用RegExp
构造时,需要使用反斜杠双重转义:
var rangeRegex = new RegExp("(\\[|\\])[0-9]+,([0-9]+(\\[|\\])|inf\\])\\s?.*");
或使用文字::
var rangeRegex = /(\[|\])[0-9]+,([0-9]+(\[|\])|inf\])\s?.*/;