我有一个像这样的字符串
var text = "/*var*/test/**/"
所以我想在评论(测试)
之间获取该文本我试过这个
var search = new RegExp("/\*var\*/(.*?)/\*\*/");
result = text.match(search)
我的正则表达式错误无效:
SyntaxError: Invalid regular expression: //*var*/(.*?)/**//: Nothing to repeat
我错过了什么?
答案 0 :(得分:2)
在"
分隔符内传递正则表达式时,再次撤消反斜杠。
var search = new RegExp("/\\*var\\*/(.*?)/\\*\\*/");
示例:
> var text = "/*var*/test/**/"
undefined
> var search = new RegExp("/\\*var\\*/(.*?)/\\*\\*/");
undefined
> console.log(search.exec(text)[1])
test
或强>
使用正斜杠作为分隔符但请注意,您必须要转义所有正斜杠。
> var search = /\/\*var\*\/(.*?)\/\*\*/;
undefined
> console.log(search.exec(text)[1])
test