簡體   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