javascript无效的正则表达式:无与伦比的')'

时间:2015-10-23 12:53:07

标签: javascript regex node.js sails.js

我刚在风帆项目中添加了一个管理面板挂钩。 当我试图抬起风帆时,我收到了这个错误:

warn: Sails' built-in layout support only works with the `ejs`, `handlebars`, `ractive` view engines.
warn: You're using `jade`.
warn: Ignoring `sails.config.views.layout`...

并出现此错误:

SyntaxError: Invalid regular expression: /^\admin\(.*)\/?$/: Unmatched ')'

config / view.js引擎设置为jade,layout设置为false。

3 个答案:

答案 0 :(得分:1)

如果您要查找以filename = os.path.split(myFile.url)[1] 开头的字符串,然后输入任意数量的任意字符,最后选择urllib.urlretrieve(myFile.url, filename) ,请使用

admin

请参阅regex demo

当你逃离一个特殊角色(如//^admin(.*?)\/?$/ 这里)时,它们被视为文字,因此,你的正则表达式变得腐败。我也不相信你想匹配((匹配铃铛字符)。如果您打算匹配),请加倍:

\a

请参阅another demo

请注意,如果您使用与\的贪婪匹配,您还捕获最终的可选/^\\admin(.*?)\/?$/ 。如果您不想捕获它(请参阅左侧regex101演示中的捕获文本),请使用与(.*)的延迟匹配。

答案 1 :(得分:1)

\是一个转义字符,因此它会转义跟随它的字符。如果您只想匹配\,则需要将\\加倍。

/^\\admin\\(.*)\/?$/:

答案 2 :(得分:0)

您正在转义左括号,导致右括号无法匹配。鉴于您的模式,它应该是/^\admin(.*)\/?$/