Case insensitive - "SyntaxError: Invalid regular expression"

Case insensitive - "SyntaxError: Invalid regular expression"

我正在构建一个带有顶部菜单的 Angular 网页,搜索输入给我一些问题...我正在使用 RESTHeart API 来为其构建查询。 在发送至 API 的查询中,我将发送以下内容:

[a-zA-Z0-9.@-]{4,99}

此模式应确保搜索输入不区分大小写,但效果不佳,因此我查看了此处的文档 https://restheart.org/learn/query-documents/ 并且正则表达式应包含 (?i) 以便被解释为"case insensitive"。 所以我做到了 - 这是正在发送的模式:

(?i)[a-zA-Z0-9.@-]{4,99}

现在我在菜单加载时遇到错误:

ERROR SyntaxError: Invalid regular expression: /^(?i)[a-zA-Z0-9.@-]{4,99}$/: Invalid group

我还尝试对 (?i) 部分进行硬编码,因为问题似乎出在那个特定部分...

有人知道为什么会这样吗? 我尝试了 https://regex101.com/r/o684Hu/2/ 并且在那里有效...

感谢您的宝贵时间,

尤尼托。

在 mongodb 中,$regex 查询运算符允许选项

使用 RESTHeart,对于不区分大小写的正则表达式查询,查询过滤器应如下所示

GET /db/coll?filter={"field":{"$regex": "[a-zA-Z0-9.@-]{4,99}", "$options": "i"}}

有关详细信息,请查看 mongodb 文档中的 options available for use with regular expression