如何在 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']
我正在使用 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']