这段代码
var line = `let add_url = '{{reverse_url("admin/test")}}'`
var re = new RegExp('.*reverse_url\("(.*)"\).*')
console.log("result", re.exec(line))
为什么运行的结果是
result null
1
lpts007 2021-01-10 21:30:36 +08:00 1
\\(
|
2
mineV 2021-01-10 21:39:31 +08:00 1
一楼正解
/a\("(.*)"\)/.exec(`a("admin/test")`) new RegExp('a\\("(.*)"\\)').exec(`a("admin/test")`) 上面俩都对,字符串常量和正则常量的区别 |
3
autoxbc 2021-01-10 23:22:01 +08:00
字面量:斜杠需要转义,反斜杠不用
构造式:斜杠不用转义,反斜杠需要 取决于表达式里哪种符号比较多,可以交替使用两种方法; 一个例子是,含有斜杠很多的 URL,则用构造式更为可读; new RegExp('/a/b/c/d') --> /\/a\/b\/c\/d/ |