草庐IT

regex_extract

全部标签

regex - 不区分大小写的正则表达式不起作用的 Mongoose 查询 $in

我在mongoDB中有一个电子邮件列,我必须在其中检查数组中的字段,目前我正在使用以下查询emailArray=[{'$regex':/test@email.com/i},{'$regex':/test2@email.com/i},]'$or':[{email:emailArray},{name:'testUser'}]}出现以下错误Casttostringfailedforvalue"[objectObject]"atpath"email我不确定查询有什么问题:( 最佳答案 你做错了。emailArray应该是正则表达式数组,而且

regex - MongoDB:哪个更快?正则表达式搜索字符串还是直接搜索数组?

我的应用程序当前在文本字段上执行正则表达式搜索,该文本字段是逗号分隔的Objectid。根据Mongodbdocumentation,Mongo在进行正则表达式搜索时使用索引。我最初的想法是使用数组来存储ObjectId,而不是使用字符串。但是数组搜索是否会比正则表达式搜索具有更好的性能,因为两者都使用索引? 最佳答案 此处的方法是使用ObjectId数组而不是逗号分隔的ObjectId字符串列表。数组将使用更少的空间:ObjectId字符串为24个字符,而BSONObjectId为12个字节。数组索引更有效:对于不以文本开头为根的

regex - Spring 数据 - MongoDB - $regex 搜索

我在我的应用程序中使用Spring数据和MongoDB,我的一个存储库类如下所示:publicinterfaceProductRepositoryextendsMongoRepository{@Query("{$or:[{'name':{$regex:?0,$options:'i'}},{'description':{$regex:?0,$options:'i'}}]}")ListfindProductByRegexString(finalStringregexString);...}我这样调用这个方法:publicclassProductServiceTestextendsAbstr

Python 正则表达式(RegEx)指南

正则表达式(RegEx)是一系列字符,形成了一个搜索模式。RegEx可用于检查字符串是否包含指定的搜索模式。RegEx模块Python中有一个内置的包叫做re,它可以用于处理正则表达式。导入re模块:importrePython中的RegEx,一旦导入了re模块,您就可以开始使用正则表达式了。示例:搜索字符串以查看它是否以"The"开头并以"Spain"结尾:importretxt="TheraininSpain"x=re.search("^The.*Spain$",txt)RegEx函数re模块提供了一组函数,允许我们在字符串中搜索匹配项:函数描述findall返回包含所有匹配项的列表sea

mongodb - 是否可以在 $regex [mongo db] 中使用 mongo 字段值作为模式?

假设我有数据db=[{"make":"audi","year":"2018","url":"xyz.com/makes-2019-"},{"make":"audi","year":"2013","url":"abc.com/car/audi-2013"}]如果url中存在品牌或年份,假设我需要查询数据。例如。像这样db.cars.aggregate([{"$match":{"$or":[{"url":{"$regex":$model,"$options":"i"}},{"url":{"$regex":$year,"$options":"i"}}]}}])除了map-reduce之外,这

regex - 仅匹配字母数字字符

这道题其实是following的延伸Ignorespecialcharactersbeforematchconditions我正在使用mongodb聚合从表中查找一些产品。以下是我需要改进的查询部分{$match:{"name":{$regex:"kdf8210"}}}现在确实匹配名称中任何位置包含单词“kdf8210”的任何产品。但我还需要它与以下内容匹配。kdf.8210,kdf-8210,kdf.82-10基本上匹配应该忽略中间的任何特殊字符。我刚刚了解到$where不能用作聚合管道的一部分,因此引用问题的答案没有太大帮助。 最佳答案

regex - 使用字段的子字符串对文档进行分组

我正在使用MongoDB,我非常享受!有一个查询我在处理时遇到问题:我有这组表示层次结构的数据(一棵树,其中1是根,1.1和1.2是1的子级,依此类推)db.test.insert({id:1,hierarchy:"1"})db.test.insert({id:2,hierarchy:"1.1"})db.test.insert({id:3,hierarchy:"1.2"})db.test.insert({id:4,hierarchy:"1.1.1"})db.test.insert({id:5,hierarchy:"1.1.2"})db.test.insert({id:6,hierarc

regex - 具有计数和条件 mongoDB 的不同值

我是MongoDB的新手,到目前为止,它似乎正试图摆脱让简单的事情变得过于复杂的方式。我正在尝试运行以下MYSQL等价物SELECTuserid,COUNT(*)FROMuserinfoWHEREuserdatalike'%PC%oruserdatalike'%wire%'GROUPBYuserid我有mongo版本3.0.4,我正在运行MongoChef。我尝试使用类似下面的东西:db.userinfo.group({"key":{"userid":true},"initial":{"countstar":0},"reduce":function(obj,prev){prev.cou

python - 使用 PyMongo 进行词边界 RegEx 搜索

我想进行词界搜索。例如,假设您有以下条目:“厨师。”“厨师”“做饭。”“厨师是”“做饭。”然后搜索以查找整体包含“cook”的条目。也就是说,只应返回第3、4和5个条目。在这种情况下,当我使用\b单词边界语句时,由于自动转义,它会以某种方式变形。importre,pymongo#preparepymongocollection.find({"entry":re.compile('\bcook\b').pattern})当我打印查询字典时,\b变成了\\b。我的问题是如何使用PyMongo进行词边界搜索?我可以在MongoDBshell中执行此操作,但在PyMongo中失败。

regex - 如何在 mongodb 中进行 "ab not dc"正则表达式搜索

我需要在条件为“abnotdc”的单个字段上进行基于正则表达式的搜索。以下查询结果错误。建议使用正确的查询db.getCollection('collection').aggregate([{$match:{search_description:{$regex:"ab","$options":"i"}}},{$match:{search_description:{$not:{$regex:"dc","$options":"i"}}}}])以上查询结果“errmsg”:“错误查询:BadValue$notcannothavearegex”错误消息 最佳答案