当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Regexp.match用法及代码示例


用法

match(str, pos=0) → matchdata or nil
match(str, pos=0) {|match| block } → obj

返回说明匹配的 MatchData 对象,如果没有匹配则返回nil。这相当于在正常匹配后检索特殊变量$~ 的值。如果存在第二个参数,它指定字符串中开始搜索的位置。

/(.)(.)(.)/.match("abc")[2]   #=> "b"
/(.)(.)/.match("abc", 1)[2]   #=> "c"

如果给出了一个块,如果匹配成功,则使用 MatchData 调用该块,这样你就可以编写

/M(.*)/.match("Matz") do |m|
  puts m[0]
  puts m[1]
end

代替

if m = /M(.*)/.match("Matz")
  puts m[0]
  puts m[1]
end

在这种情况下,返回值是块执行的值。

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Regexp.match。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。