私は本を読んでいて、この例を示しています
x = "This is a test".match(/(\w+) (\w+)/)
括弧を見て、個別に渡されたものにアクセスできるようにしています。
上記の式を IRB に入れると、次のようになります。
MatchData "これは" 1:"これ" 2:"です">
a
これにandも含まれないのはなぜTest
ですか?
を含める必要があります.match(/(\w+) (\w+) (\w+) (\w+)/)
か?
「一致」メソッドは正規表現とグローバルに一致していません。最初の一致のみを返します。「一致」ではなく「スキャン」メソッドを使用でき、正規表現のすべての一致の配列を返す必要があります。
[~]$ irb
1.8.7-p371 :001 > x = "This is a test".match(/(\w+) (\w+)/)
=> #<MatchData "This is" 1:"This" 2:"is">
1.8.7-p371 :002 > x = "This is a test".scan(/(\w+) (\w+)/)
=> [["This", "is"], ["a", "test"]]