當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby Regexp.match用法及代碼示例


本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。