javascript无效的正则expression式:无与伦比的')'
我刚刚在我的项目上添加了一个pipe理面板钩子。 当我尝试提起帆时遇到了这个错误:
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,布局为false。
如果你正在寻找一个以admin
开头的string,那么随后是任意数量的任何字符,最后是可选的/
,使用
/^admin(.*?)\/?$/
请参阅正则expression式演示
当你逃离一个特殊的angular色(像(
或)
在这里)他们被视为文字,因此,你的正则expression式变得腐败。 我也不相信你想匹配一个\a
(匹配的铃声字符)。 如果你打算匹配一个\
,把它加倍:
/^\\admin(.*?)\/?$/
看另一个演示
请注意,如果您使用(.*)
贪婪匹配,您还将捕获最后一个可选的/
。 如果您不想捕获它(请参阅左边的regex101演示中捕获的文本),请使用懒惰匹配与*?
。
\是一个转义字符,所以它逃脱了后面的字符。 如果你想匹配一个\
,你需要加倍你\\
。
/^\\admin\\(.*)\/?$/:
您正在转义左括号,导致右括号无法匹配。 鉴于你的模式,它应该是/^\admin(.*)\/?$/