草庐IT

REGEX_EXTRACT

全部标签

ruby-on-rails - 在 mongoid 中使用 LIKE/regex 和变量

我正在尝试查找文本中包含单词test的所有文档。以下工作正常:@tweets=Tweet.any_of({:text=>/.*test.*/})但是,我希望能够搜索用户提供的字符串。我认为下面的方法会起作用,但它不起作用:searchterm=(params[:searchlogparams][:searchterm])@tweets=Tweet.any_of({:text=>"/.*"+searchterm+".*/"})我已经尝试了我能想到的一切,任何人都知道我可以做些什么来完成这项工作。提前致谢。 最佳答案 searchter

regex - 我可以对索引子文档字段执行 MongoDB "starts with"查询吗?

我正在尝试查找字段以值开头的文档。使用notablescan禁用表扫描.这行得通:db.articles.find({"url":{$regex:/^http/}})这不是:db.articles.find({"source.homeUrl":{$regex:/^http/}})我得到错误:error:{"$err":"tablescansnotallowed:moreover.articles","code":10111}url和source.homeUrl都有索引:{"v":1,"key":{"url":1},"ns":"mydb.articles","name":"url_1"}

regex - 如何在 Mongodb 上进行不区分大小写的查询?

varthename='Andrew';db.collection.find({'name':thename});如何查询不区分大小写?即使是“andrew”,我也想找到结果; 最佳答案 ChrisFulstow的解决方案可行(+1),但它可能效率不高,尤其是在您的收藏非常大的情况下。无根正则表达式(那些不以^开头的正则表达式,它将正则表达式锚定到字符串的开头),以及那些使用i标志以区分大小写的正则表达式不会使用索引,即使它们存在。您可能考虑的另一种选择是将数据非规范化以存储name字段的小写版本,例如name_lower。然后,您

regex - 如何在 MongoDB 中使用 'Not Like' 运算符

我可以使用pymongo使用SQLLike运算符,db.test.find({'c':{'$regex':'ttt'}})但是如何使用NotLike运算符呢?我试过了db.test.find({'c':{'$not':{'$regex':'ttt'}})但出现错误:OperationFailure:$notcannothavearegex 最佳答案 来自docs:The$notoperatordoesnotsupportoperationswiththe$regexoperator.Insteaduse//orinyourdrive

c++ - 如何转义字符串以在 Boost Regex 中使用

我只是想了解正则表达式,我正在使用BoostRegex库。我需要使用包含特定URL的正则表达式,但它会阻塞,因为显然URL中存在为正则表达式保留的字符并且需要转义。Boost库中是否有任何函数或方法可以为这种用法转义字符串?我知道在大多数其他正则表达式实现中都有这样的方法,但我在Boost中没有看到。或者,是否有需要转义的所有字符的列表? 最佳答案 .^$|()[]{}*+?\具有讽刺意味的是,您可以使用正则表达式来转义您的URL,以便将其插入到正则表达式中。constboost::regexesc("[.^$|()\\[\\]{}

c++ - std::regex_match 和 std::regex_search 之间的区别?

已编写以下程序以使用C++11std::regex_match获取“Day”信息&std::regex_search.但是,使用第一种方法返回false,第二种方法返回true(预期)。我阅读了与此相关的文档和已经存在的SO问题,但我不明白这两种方法之间的区别以及我们何时应该使用它们中的任何一种?对于任何常见问题,它们可以互换使用吗?Differencebetweenregex_matchandregex_search?#include#include#includeintmain(){std::stringinput{"MonNov2520:54:362013"};//Day::Ex

regex - ` and "引用的正则表达式有什么区别?

为什么是C:\\\\(由`引用)regexp不匹配"C:\\"和"C:\\\\"怎么办?r,err:=regexp.Compile(`C:\\\\`)//Notmatchr,err:=regexp.Compile("C:\\\\")//Matchesifr.MatchString("WorkingondriveC:\\")==true{fmt.Printf("Matches.")}else{fmt.Printf("Nomatch.")} 最佳答案 不解释原始字符串文字中的转义序列(由引号引起来)。`C:\\\\`相当于:"C:\\\

regex - 编写长正则表达式、嵌入式注释的成语?

某些语言具有在长正则表达式中嵌入换行符和空格以使其更具可读性的功能(yogi|booboo)#matchsomething\s(the\s)?#optionalarticlebear#bearsarenotMr.RangerAFAICTgolang没有有那个选项,对吗?缺少的是composedregex清晰的唯一选择?还是有别的成语?我现在没有在go中找到任何长正则表达式的例子。 最佳答案 大多数情况下,人们只是提供评论,说明正则表达式匹配的内容。但是浏览一下我发现的Go源代码this有趣的例子://removeREisthelis

regex - 带有非拉丁字符的 Golang 正则表达式

我正在从一些句子中解析单词,而我的\w+正则表达式适用于拉丁字符。但是,它完全无法使用一些西里尔字符。这是一个示例应用程序:packagemainimport("fmt""regexp")funcget_words_from(textstring)[]string{words:=regexp.MustCompile("\\w+")returnwords.FindAllString(text,-1)}funcmain(){text:="One,twothree!"text2:="Раз,дватри!"text3:="Jedna,dvatřičtyřipět!"fmt.Println(g

regex - 如何从 Golang 中的字符串中删除多余的空格/空格?

我想知道如何删除:所有前导/尾随空格或换行符、空字符等字符串中的任何多余空格(例如“hello[space][space]world”将被转换为“hello[space]world”)这可以通过单个正则表达式实现吗?支持国际空格字符的unicode等等? 最佳答案 只要使用strings包,您就可以走得更远,因为strings.Fields会为您完成大部分工作:packagemainimport("fmt""strings")funcstandardizeSpaces(sstring)string{returnstrings.Joi