String.match
返回 a MatchData
,但我怎样才能从中获取匹配的字符串MatchData
?
puts "foo bar".match(/(foo)/)
输出:
#<MatchData "foo" 1:"foo">
对不起,我是水晶新手。
String.match
返回 a MatchData
,但我怎样才能从中获取匹配的字符串MatchData
?
puts "foo bar".match(/(foo)/)
输出:
#<MatchData "foo" 1:"foo">
对不起,我是水晶新手。
您可以通过众所周知的组索引访问它,确保处理 nil(不匹配)情况。
match = "foo bar".match(/foo (ba(r))/)
if match
# The full match
match[0] #=> "foo bar"
# The first capture group
match[1] #=> "bar"
# The second capture group
match[2] #=> "r"
end
MatchData
您可以在其API 文档中找到更多信息