首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >3美元2美元的coderay/红布/纺织品/减价是多少?

3美元2美元的coderay/红布/纺织品/减价是多少?
EN

Stack Overflow用户
提问于 2014-10-27 01:55:48
回答 1查看 38关注 0票数 0

有人能解释一下在使用coderay时这个语法是什么$3$2吗?

http://railscasts.com/episodes/207-syntax-highlighting?view=comments

代码语言:javascript
运行
复制
  require 'coderay'
  def coderay(text)
    text.gsub(/\<code( lang="(.+?)")?\>(.+?)\<\/code\>/m) do
      content_tag("notextile", CodeRay.scan($3, $2).div(:css => :class))
    end
  end

我也见过$4。这些定义是在哪里定义的,它们引用了什么,是否有相关的文档?

我甚至不知道该问些什么问题。基本上..。他们是什么?我必须明白。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-27 01:58:39

它们是由gsub创建的,称为“捕获”。它们将具有正则表达式中由括号匹配的内容。在您的示例中,$1将匹配lang="(.+?)"$2将匹配lang属性中的.+?,而$3将匹配其他.+? (标记内容)。更确切地说,$1是一个特殊的全局变量,它将与Regexp.last_match[1]相同,而后者又与Regexp.last_match.captures[0]相同。其他人也一样。

您可以在 documentation中找到与Regexp相关的特殊全局变量引用。

它与CodeRay/RedCloth无关,与正则表达式和核心Ruby无关。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26580111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档