gpt4 book ai didi

python - 如何使用 pymongo 在 mongodb 查询中实现包含 {m,n} 的正则表达式?

转载 作者:可可西里 更新时间:2023-11-01 09:14:13 25 4
gpt4 key购买 nike

我想计算一个特定字段中包含一定数量字符的文档,我使用正则表达式来完成此操作:

total_count = db.collection.count({'field': {'$regex': '^pattern{m,n}$'}})

这失败了。问题出在 mongodb/pymongo 的 {m,n} 语法中,因为以下给出了良好的结果:

total_count = db.collection.count({'field': {'$regex' : '^pattern+'}})

表达式 '/^pattern{m,n}$/' 在其他应用程序中运行流畅(测试于:http://www.regexr.com/)

在我的例子中,pattern = [0-9a-zA-Z\W], 但这不应该是相关的。

最佳答案

您需要使用 re.compile 编译您的正则表达式模式将函数转换为正则表达式对象

import re
pat = re.compile(r'^pattern{n, m}$')
total_count = db.collection.count({'field': {'$regex': pat}})

关于python - 如何使用 pymongo 在 mongodb 查询中实现包含 {m,n} 的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33434169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com