草庐IT

menta-regex

全部标签

regex - 仅当具有给定名称的 Docker 容器不存在时,如何执行 Bash 命令?

在Jenkins机器上,我想创建一个具有指定名称的docker容器,前提是它尚不存在(在shell脚本中)。我想我可能会运行命令来创建容器,如果有失败则忽略失败,但这会导致我的Jenkins工作失败。因此,我想知道如何使用bash检查docker容器是否存在。 最佳答案 您可以通过grepping查找来检查是否存在正在运行的容器。然后像这样启动它:[!"$(dockerps-a|grep)"]&&dockerrun-d--name更好:利用https://docs.docker.com/engine/reference/comman

regex - MongoDB中的慢正则表达式查询

我在一个带有索引“名称”字段的集合中有150万个文档。像db.things.find({name:/^foo/i})这样的查询大约需要5秒,这非常慢。具有相同记录的类似MySQL表在不到10毫秒的时间内执行SELECT*FROMthingsWHEREnameLIKE'foo%'。mongo的解释:db.things.find({name:/^foo/i}).limit(10).explain(){"cursor":"BtreeCursorname_1multi","nscanned":325730,"nscannedObjects":10,"n":10,"millis":4758,"n

regex - MongoDB $regex 查询和潜在利用

我们有一个RESTAPI用于查询MongoDB中的记录。很简单,大致如下:GET/api/items?q=foo在开发过程中,允许将正则表达式作为查询q很方便。我们只需将查询参数传递给MongoDB$regex运算符而不进行任何转义:db.getCollection('items').find({name:{$regex:req.query.q,$options:'i'}});因此,我们有一种非常灵活和方便的方式来查询我们的数据。现在,事情变得“严重”,即接近生产,我在问自己安全隐患。有人可以发送带有昂贵回溯的“DoS”查询吗?我可能没有足够的破坏性来考虑这样的查询,所以我搜索了互联网

regex - 如何在使用 morphia 的查询中使用正则表达式?

Mongodb允许模式/pattern/的正则表达式不使用$regex表达式。http://docs.mongodb.org/manual/reference/operator/query/in/我如何使用morphia来做到这一点?如果我使用字段运算符in和“java.util.regex.Pattern”类型的值给出字段条件,则生成的等效查询$in:[$regex:'givenpattern']根本不会返回预期结果。期望:$in:[/pattern1here/,/pattern2here/]实际使用“模式”对象:$in:[$regex:/pattern1here/,$regex:/

regex - 在 pymongo 中创建文本索引

我有一个存储在“h”字段中的英语单词数据库。我刚刚发现了文本索引,我想在这个字段上创建一个以加快正则表达式的搜索,但不知何故,我就是无法正确使用语法。我正在使用pymongo2.7.1和python3.4。frompymongoimportMongoClientfrompymongoimportASCENDINGfrompymongoimportDESCENDINGfrompymongoimportTEXT#...collection.create_index('h',TEXT)我收到以下错误:increate_indexraiseTypeError("cache_formustbea

regex - meteor 中的mongodb正则表达式搜索问题

我的代码是varsearch_element=Session.get("search_string");varadc="/"+search_element+"*/";console.log(adc);returnPolls_Coll.find({question:{$regex:adc}});为什么它不起作用如果我给了Polls_Col.find({question:{$regex:/Best*/}});conslow它正在工作,如果我用值(search_element)替换正则表达式,它就不起作用。我认为它正在像这样替换Polls_Coll.find({question:{$rege

regex - MongoDB对带括号的文本不区分大小写查询

我在mongodb上遇到了一个非常烦人的不区分大小写查询的问题。我在Web应用程序中使用MongoTemplate,我需要对集​​合执行不区分大小写的查询。使用此代码Queryq=newQuery();q.addCriteria(Criteria.where("myField").regex(Pattern.compile(fieldValue,Pattern.CASE_INSENSITIVE|Pattern.UNICODE_CASE)));returnmongoTemplate.findOne(q,MyClass.class);我创建以下查询{"myField":{"$regex":

regex - MongoDB/PyMongo : how to 'escape' parameters in regex search?

我正在使用pymongo并希望搜索以特定字符序列开头的项目。我可能会这样实现:items=collection.find({'key':'/^text/'})这应该可以,但是如果text是一个变量呢?我可以这样做:items=collection.find({'key':'/^'+variable+'/'})但是现在如果variable中的文本包含任何具有特殊正则表达式含义的字符(例如$),则查询不再按预期运行。有没有办法进行某种参数绑定(bind)?我必须自己清理variable吗?这甚至可靠吗?谢谢! 最佳答案 您必须以编程方式

MongoDB 外壳 : how to search for collections which match a name or regex

当我使用显示集合时,它会返回一个很长的所有集合的列表,我如何编写查询来返回与模式匹配的集合。我希望得到类似db.collections({name:/pattern/})但找不到 最佳答案 您可以使用db.getCollectionNames()与Array.filter():db.getCollectionNames().filter(function(collection){return/pattern/.test(collection)}) 关于MongoDB外壳:howtosea

regex - 使用正则表达式和排序的 Mongodb 简单前缀查询很慢

我被这个简单的前缀查询困住了。虽然Mongodocs声明您可以通过使用前缀正则表达式格式(/^a/)获得相当不错的性能,当我尝试对结果进行排序时查询非常慢:940毫秒db.posts.find({hashtags:/^noticias/}).limit(15).sort({rank:-1}).hint('hashtags_1_rank_-1').explain(){"cursor":"BtreeCursorhashtags_1_rank_-1multi","isMultiKey":true,"n":15,"nscannedObjects":142691,"nscanned":14269