如何在 eve rest 框架中创建不区分大小写的正则表达式

How to create a Case-Insensitive regex in eve rest framework

我正在使用 EVE REST Framework 和 POSTMAN

在我的网站 API 中,只有在给出与字段值完全匹配的情况下才会搜索特定值。它区分大小写我想进行不区分大小写的搜索,这样即使搜索词未完全给出,我也可以检索所有符合搜索条件的值。

'url': 'regex("[\w]+")',

如果我只键入 a 或 A,我希望获取所有以 a 和 A 开头的值。

提前致谢...

(?i)a.* 匹配 'apple' 和 'Apple'。
(?i) 使以下正则表达式不区分大小写。
追加也像 a.*(?i)

中那样工作

查询示例为:

/?where={"field":{"$regex":"^(?i)value.*"} }

这将查找所有 field 的值以 "value" 开头且不区分大小写("Value"、"value"、"VALUE" 等)的所有文档

不过请记住,默认情况下 $regex 在 Eve (MONGO_QUERY_BLACKLIST = ['$where', '$regex']) 中被列入黑名单。所以如果你真的想要启用它,你还必须将这一行添加到你 settings.py:

MONGO_QUERY_BLACKLIST = ['$where']