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


Ruby String.match用法及代码示例


本文简要介绍ruby语言中 String.match 的用法。

用法

match(pattern, offset = 0) → matchdata or nil
match(pattern, offset = 0) {|matchdata| ... } → object

根据 self 和给定的 pattern 返回 Matchdata 对象(或 nil )。

注意:还更新 Regexp-related global variables

  • 通过转换pattern(如果还不是正则表达式)计算regexp

    regexp = Regexp.new(pattern)
  • 计算 matchdata ,这将是一个 MatchData 对象或 nil(参见 Regexp#match ):

    matchdata = <tt>regexp.match(self)

没有给出块,返回计算的 matchdata

'foo'.match('f') # => #<MatchData "f">
'foo'.match('o') # => #<MatchData "o">
'foo'.match('x') # => nil

如果给出整数参数 offset,则搜索从索引 offset 开始:

'foo'.match('f', 1) # => nil
'foo'.match('o', 1) # => #<MatchData "o">

给定一个块,使用计算的matchdata调用该块并返回该块的返回值:

'foo'.match(/o/) {|matchdata| matchdata } # => #<MatchData "o">
'foo'.match(/x/) {|matchdata| matchdata } # => nil
'foo'.match(/f/, 1) {|matchdata| matchdata } # => nil

相关用法


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