开发者社区> 问答> 正文

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

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

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

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



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

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

展开
收起
爱吃鱼的程序员 2020-06-14 20:23:02 729 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-14 20:23:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载