繁体   English   中英

在Mongo Shell中运行的PyMongo中复制正则表达式

[英]Replicating regular expression in PyMongo that runs in Mongo Shell

尝试在根s3存储桶中而不是在子文件夹中匹配文件

https://s3.amazonaws.com/assets.abc.net/ONE.jpg将是匹配项,而https://s3.amazonaws.com/assets.abc.net/SOMEFOLDER/one.jpg将不匹配

在MongoShell中,如果运行此查询,我会得到结果

db.myCollection.find({
"attachments.url" : /https:\/\/s3.amazonaws.com\/assets.abc.net\/[^\/]+\.[A-z]+/
                    })

现在在pyMongo中,我正在尝试复制同一件事,但得到零结果

这是我的代码

regex = re.compile(r"https://s3.amazonaws.com/assets.abc.net/[^/]+\.[A-z]+", re.IGNORECASE)

# AlTERNATE ALSO TRIED
# regex = re.compile(r"https:\/\/s3.amazonaws.com\/assets.abc.net\/[^\/]+\.[A-z]+", re.IGNORECASE)

cursor = db.listings.find({ "attachments.url" : regex })

有人可以帮忙吗? Python版本是2.7

这就是最终的工作

regex = re.compile(r"https:\/\/s3.amazonaws.com\/assets.abc.net\/[^\/]+\.[A-z]+", re.IGNORECASE)

cursor = db.listings.find({ "attachments.url" : { $regex : regex} })
regex = re.compile(re.escape(r"https://s3.amazonaws.com/assets.abc.net/[^/]+\.[A-z]+"), re.IGNORECASE)


cursor = db.listings.find({ "attachments.url" : regex })

尝试通过re.escape()转义模式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM