我刚刚在我的 sails 项目中添加了一个管理面板 Hook 。 当我尝试升 sails 时出现此错误:
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
开头,然后是任意数量的任意字符和末尾可选的 /
的字符串,请使用
/^admin(.*?)\/?$/
参见 regex demo
当您转义一个特殊字符(如此处的 (
或 )
)时,它们将被视为文字,因此,您的正则表达式已损坏。我也不相信你想匹配 \a
(匹配响铃字符)。如果你想匹配 \
,将它加倍:
/^\\admin(.*?)\/?$/
参见 another demo
请注意,如果您对 (.*)
使用贪婪匹配,您还将捕获最终可选的 /
。如果您不想捕获它(请参阅左侧 regex101 演示中捕获的文本),请使用带有 *?
的惰性匹配。
关于javascript 无效的正则表达式 : Unmatched ')' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33302819/