草庐IT

Javascript if 表达式求值

全部标签

ruby - 用于类似正则表达式匹配的 xpath 表达式?

我想在具有特定模式的html文档中搜索divid。我想在正则表达式中匹配这个模式:foo_([[:digit:]]{1.8})使用xpath。上述模式的xpath等价物是什么?我坚持//div[@id="foo_然后什么?如果有人能为它继续一个合法的表达。编辑抱歉,我想我必须详细说明一下。其实不是foo_,它是post_message_顺便说一句,我使用mechanize/nokogiri(ruby​​)这是片段:html_doc=Nokogiri::HTML(open(myfile))message_div=html_doc.xpath('//div[substring(@id,13

Ruby:从字符串生成新的正则表达式

有什么方法可以将String转换为Regexp(在Ruby中)?比方说:'example'--->/example/我的目的是动态生成正则表达式。 最佳答案 regexp=Regexp.new(string)或regexp=/#{string}/如果string可能有特殊字符,那么:regexp=Regexp.new(Regexp.escape(string))或regexp=/#{Regexp.escape(string)}/ 关于Ruby:从字符串生成新的正则表达式,我们在Stack

Ruby gsub/正则表达式修饰符?

在哪里可以找到有关gsub修饰符的文档?\a\b\c\1\2\3%a%b%c$1$2%3等等?具体来说,我正在查看这段代码...something.gsub(/%u/,unit)%u是什么? 最佳答案 首先,%u在ruby​​正则表达式中没什么特别的:mixonic@pandora~$irbirb(main):001:0>'%u'.gsub(/%u/,'heyhey')=>"heyhey"Ruby1.8正则表达式的最终文档在RubyDocBundle中:http://ruby-doc.org/docs/ruby-doc-bundle

ruby - 如何在 Ruby 正则表达式中插入变量?

data.to_enum(:scan,/(#entity[0])/i).mapdo|m,|p$`.size如何在正则表达式中使用动态变量?#entity[0]返回一个值,但在上面的语法中,#entity[0]在正则表达式中按字面意义获取。 最佳答案 你想要/#{entity[0]}/i。#{}是在字符串和正则表达式中插入变量的语法。 关于ruby-如何在Ruby正则表达式中插入变量?,我们在StackOverflow上找到一个类似的问题: https://st

ruby 正则表达式 : capture the path of url

我想从任何URL中提取其路径。例如:网址:https://stackoverflow.com/questions/ask路径:questions/ask应该不难:url[/(?:\w{2,}\/).+/]但我认为我使用了错误的模式来“忽略这个”('?:'-不起作用)。什么是正确的方法? 最佳答案 我建议您不要使用正则表达式来执行此操作,而是使用内置的URI库:require'uri'uri=URI::parse('http://stackoverflow.com/questions/ask')putsuri.path#results

ruby - 有没有办法表达 'infinite time' ?

我正在使用Range表示时间范围的类。现在我想要一个表示给定时间后任意点的范围。我试过(DateTime.now..nil),但是Range类不允许不同类的对象是同一范围的端点。(尝试使用此属性创建Range会导致ArgumentError:badvalueforrange。)是否有时间的无穷大等价物,即Time.now+(1.0/0.0)?或者,是否有办法绕过Range类要求其min和max值属于同一类的要求? 最佳答案 可以使用DateTime::Infinity类:future=DateTime.now..DateTime::

ruby-on-rails - 如何对 Ruby 参数进行惰性求值

我有一段代码可以在ruby​​中检查nil。所以我想要实现的是:例如,如果我调用get_score_value(nil,(nil-1))。我希望ruby​​延迟nil-1的评估,直到它到达get_score_value函数,而不是在它被传递给函数之前评估它。换句话说,我想将数学表达式作为参数传递给方法。在ruby​​中最优雅的方法是什么?非常感谢defget_score_value(value,value2)value.nil??"NULL":value2.round(2)end更新:我才发现这个问题其实和懒惰严格评价的话题有关。(以下内容来自这个很棒的网站:http://www.kh

ruby - Ruby 1.9 正则表达式是否与上下文无关语法同样强大?

我有这个正则表达式:regex=%r{\A(?a\ga|b\gb|c)\Z}x当我针对多个字符串测试它时,它似乎与上下文无关语法一样强大,因为它正确地处理了递归。regex.match("aaacaaa")#=>#regex.match("aacaa")#=>#regex.match("aabcbaa")#=>#regex.match("aaacaa")#=>nil"FunwithRuby1.9RegularExpressions"有一个例子,他实际上安排了一个正则表达式的所有部分,使其看起来像一个上下文无关的语法,如下所示:sentence=%r{(?cat|dog|gerbil){

ruby - 使用递归正则表达式(如 perl)在 Ruby 中匹配平衡括号

我一直在寻找一种方法来匹配正则表达式中的平衡括号,并在Perl中找到了一种使用递归正则表达式的方法:my$re;$re=qr{\((?:(?>[^()]+)#Non-parenswithoutbacktracking|(??{$re})#Groupwithmatchingparens)*\)}x;来自perlregularexpressionsite.有没有办法用Ruby或类似的语言做到这一点?更新:对于那些感兴趣的人,这里有一些有趣的链接:Onigurumamanual-来自Sawa的回答。PragmaticProgrammers'Ruby1.9RegularExpressionsS

ruby - ruby 中的正则表达式 - 我可以在不分组的情况下使用括号吗?

我有一个正则表达式:/(somethingcomplexandboring)?(somethingcomplexandinteresting)/我对第二个括号的内容感兴趣;第一个只是为了确保正确匹配(因为无聊的部分可能存在也可能不存在,但如果存在,我会意外地将它与有趣部分的正则表达式匹配)。所以我可以使用$2访问第二个匹配项。但是,为了与我正在使用的其他正则表达式保持一致,我希望$1以某种方式包含第二个括号的内容。可能吗? 最佳答案 使用非捕获组:r=/(?:ab)?(cd)/ 关于ru