首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Ruby Regex中使用9个以上的未命名捕获

在Ruby Regex中使用9个以上的未命名捕获
EN

Stack Overflow用户
提问于 2012-10-22 00:11:22
回答 2查看 131关注 0票数 4

我有一个像日志条目格式的长字符串,并希望从它获得几个捕获,并将它们存储在不同的变量中。

我知道Ruby将前9个捕获存储到变量$1...$9中,它是否也将其他捕获存储在$10...$99中?

如果没有,有什么简单的方法可以做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-22 00:19:39

是的,确实如此。

代码语言:javascript
运行
复制
"a2c4d7l4l0j4h9h7".gsub(/(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)(\w)(\d)/) do
  $12
end
#=> "4"
票数 6
EN

Stack Overflow用户

发布于 2012-10-22 00:19:11

String#match返回包含捕获数组的MatchData对象。

代码语言:javascript
运行
复制
m = Regexp.new('(.)' * 20).match('The quick brown fox jumps over the lazy dog')
m[12]
# => "r" 

虽然12美元也可以:

代码语言:javascript
运行
复制
> $12
# => "r" 
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12999606

复制
相关文章

相似问题

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