开发者社区> 问答> 正文

MongoDB 正则表达式进行模糊查询问题?? 400 报错

MongoDB 正则表达式进行模糊查询问题?? 400 报错

MongoDB 正则表达式进行模糊查询问题,含有正则表达式的关键字问题 报错。。。

使用正则表达式进行mongodb的模糊查询,如下:

arg="dd"#这里可以为[] , ? & * .  
param=".*%s.*"%arg
partten=re.compile(param)
db.test.find("content",partten)



如果arg是正则表达式中的关键字的话就会出错,这个怎么解决?

带查询的字符串含有正则表达式关键字会出错

展开
收起
爱吃鱼的程序员 2020-06-04 13:13:08 684 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    http://docs.mongodb.org/manual/reference/operator/query/regex/

    db.test.find( { content: { $regex: /^dd/i } } )


    ######我这里说含有关键字的情况: 如果含有 正则表达式的关键字? 怎么处理 关键字全部都找出来 再处理吗######

    转义:

    safe_str = re.sub(r'(\*|\.|\?|\+|\$|\^|\[|\]|\(|\)|\{|\}|\||\\|\/)', r'\\\1', arg)

    2020-06-04 14:32:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
MongoDB多数据中心的方案选型之路 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载