草庐IT

regex-greedy

全部标签

regex - 尽管 : elif: else,但使用正则表达式的 PyMongo 查询不返回任何内容

出于某种奇怪的原因,我有一个Mongo查询,尽管使用了一个似乎无法转义的条件,但它几乎没有返回任何内容(没有数据的空白行)。要重现(假设您安装了PyMongo):importpymongoimportremanyNodesDeep={"one":{"two":{"three":{"four":{"five":"five"}}}}}fooBar={"foo":"bar"}withpymongo.MongoClient()asconn:db=conn[u'local']collection=db.my_collectionprint"Collection:{}".format(collec

regex - 最后三个字母匹配字符串 "ces"

我想知道如何在mongodb中仅使用其名称的最后三个字母来查找具有结构db.collection.find()的内容,谢谢!{"address":{"building":"1007","coord":[-73.856077,40.848447],"street":"MorrisParkAve","zipcode":"10462"},"borough":"Bronx","cuisine":"Bakery","grades":[{"date":{"$date":1393804800000},"grade":"A","score":2},{"date":{"$date":1378857600

regex - MongoDB:使用 $cond 和 $regex 进行聚合

我正在尝试分多个阶段对数据进行分组。目前我的查询是这样的:db.captions.aggregate([{$project:{"videoId":"$videoId","plainText":"$plainText","Group1":{$cond:{if:{$eq:["plainText",{"$regex":/leave\sa\scomment/i}]},then:"Yes",else:"No"}}}}])我不确定是否真的可以在聚合阶段的$cond中使用$regex运算符。非常感谢您的帮助!提前致谢 最佳答案 更新:从Mongo

regex - MongoDB 查询中的负面环视

对于某些字段,我上传了。我想确保它们没有被破坏(不是被mongo破坏,而是被我的数据生成器破坏)。感兴趣的领域将采用此正则表达式:donor_\d{1,2}_\d+例如:donor_17_82635294这条规则没有异常(exception),所以我想知道我是否可以在正则表达式中使用否定环视来查找不符合这条规则的字段。在SO上负面环顾示例的问题是,您似乎必须知道自己在寻找什么,而我不知道。我想要这样的东西。db.collection.find({field:*not*/donor_\d{1,2}_\d+/i})我的另一个选择是创建一个包含与我的正则表达式匹配的所有内容的新集合,但这会容

php - MongoDB php $in 和 $regex

我正在尝试结合$regex和$in来进行简单的搜索。例如我有这样一个用户查询:$user_query="forfocusred";在我的每个文档的mongodb集合中,我都有一个关键字字段。我想获取字段关键字所在的文档:{keywords:[0]=>ford,[1]=>focus,[2]=>red}如您所见,用户输入了“for”而不是“ford”。如果用户键入Ford,我可以用$in得到结果,但我不知道如何组合$regex和$in,我看过mongodb文档和phpmongo文档。 最佳答案 这是我的快速片段:$user_query=

regex - 在 mongodb 中使用正则表达式

我正在尝试在我的mongodb查询中使用正则表达式。根据文档,我可以像这样在查询中运行正则表达式:db.customers.find({name:/^foo.bar/});但是有没有办法在文档中存储正则表达式并检索正则表达式与提供的字符串匹配的文档?示例文档:{_id:SomeID,matcher:"/^foo.bar/"}查询(在我的梦里)。db.customers.find({matcher:{$matches:"foozbar"}); 最佳答案 是的,您可以使用arbitraryJavaScriptinqueries.>db.

java - mongodb java $in 使用 $regex 查询

我正在尝试在mongo+java中使用$regex编写$in查询。它也不适用于mongoshell。我的意思是我没有得到任何结果,但也没有查询解析错误。这是我在collection.find(finalQuery)这行从JavaDebugger获得的最终查询{"$and":[{"$or":[{"country":"unitedstates"}]},{"businesses":{"$in":[{"$regex":"^.*cardinal.*health.*$"},{"$regex":"^.*the.*hartford.*$"}]}}]}上述查询的Java代码片段:Setbusinesse

regex - 这两个 MongoDB $regex 语法有什么区别?

假设我想搜索用户名中包含字符串“foo”的所有用户。以下内容之间有什么实际区别吗?db.users.findOne({"username":{$regex:".*foo.*"}})和:db.users.findOne({"username":{$regex:"foo"}})两者似乎都有效。但是有人可以解释一下区别吗? 最佳答案 两者都可以工作,但是.*foo.*需要更多时间来返回有效匹配,因为backtracking.*foo.*.将“一些foo文本”与/.*foo.*/进行比较:和/foo/:请注意,第一个正则表达式中foo之前的

regex - MongoDB 正则表达式查询 : Why doesn't this work?

请查看倒数第二个输入。注意:我使用的是http://try.mongodb.org/>person={fullname:"DerekLitz"}{
 "fullname":"DerekLitz"
 }>db.people.save(person)"ok">db.people.find()
[
 { "_id":{ "$oid":"4df3b39ccc93747e68039f08" }, "fullname":"DerekLitz" }
]>db.people.find({fullname:'DerekLitz'})
[
 { "_id":{ "$oid":"4df3b39ccc9374

regex - Mongoose :使用正则表达式查询全名

我正在使用以下代码按名字或姓氏搜索用户:varre=newRegExp(req.params.search,'i');User.find().or([{firstName:re},{lastName:re}]).exec(function(err,users){res.json(JSON.stringify(users));});如果search等于'John'或'Smith'则效果很好,但不适用于'JohnSm'.知道如何完成这种查询吗?谢谢!免责声明:这个问题最初出现在thispreviousquestion的评论中3年前,仍然没有答案。我正在开始一个新线程,因为1)这不是主要问题