javascript 无效的正则表达式 : Unmatched ')'

标签 javascript regex node.js sails.js

我刚刚在我的 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/

相关文章:

JavaScript 正则表达式替换字符串中的最后一个模式?

c# - 用于解析 JSON 对象数组的正则表达式?

javascript - 使用监听器删除 dom 元素会导致内存泄漏吗?

javascript - Jquery .remove() 不更新 DOM

java - "(?i)"不适用于重音

javascript - 在 Node JS 或 PHP 中为 MSSQL 编写更改监听器

javascript - 将新属性动态添加到 Node 中的现有 JSON 数组

node.js - 用户通过身份验证后使用 multer 上传文件

javascript - 使用 html 和 JavaScript 向游戏添加计分器

javascript - System.out.println ("Hello World");