我创建了以下正则表达式,用于查找与完整路径中的单词匹配且不包含点字符的URL。
(\path\?*)([^.]*)$
它适用于https://www.regex101.com/#javascript,但是当我定义此连接任务时,在连接任务中grunt:
middleware: function(connect, options) {
var middlewares = [];
middlewares.push(modRewrite(["(\path\?*)([^.]*)$ /home.html [L]"]));
options.base.forEach(function(base) {
middlewares.push(connect.static(base));
});
return middlewares;
}
我收到此错误:Invalid regular expression: /(home?*)([^.]*)$/: Nothing to repeat
并且IDE在'path'字词之间的两个斜杠(\ path \)中警告我。
为什么我可以使用那些斜杠? 我可以用什么来代替那些斜线? 非常感谢
答案 0 :(得分:2)
\
是javascript中的特殊字符,因此如果您打算使用它,则需要将其转义。你可以通过添加另一个\
来逃避它。例如:\\
答案 1 :(得分:0)
反斜杠属于“Javascript特殊字符”
因为你在双引号字符串中使用反斜杠,你必须每次写两次以告诉解析器你实际上想要输出一个backslah。 这在双引号和单引号字符串中是必需的。
您可以浏览文档..例如MDN documentation
然后搜索“JavaScript特殊字符”