2012-01-27 8 views
2

このコード:正規表現の複数のグループを取得するにはどうすればよいですか?

string1 = "I will drill for a well in walla walla washington." 
/(w.ll) /.match(string1) 

willを返しています。

willwellも返されますか?

チェック:私はRubyで正規表現のために複数のグループを取得するにはどうすればよいhttp://rubular.com/r/48K8o5mzUX

+0

のPerl、および他の言語を、すべての一致のためのターゲット文字列に目を通すために彼らの正規表現パーサを伝える 'G'フラグをサポートしています。 Rubyには 'g 'がないので、@lucapetteが推奨する' scan'を使用します。 –

+1

'String#match'は通常booleanコンテキストで使用されます。 –

答えて

7

正常に動作していますが、これは予想される動作です。おそらく、あなたは以下のように、scanを使用したい:

1.9.2 (main):0 > string1.scan(/(w.ll)/) 
=> [["will"], ["well"], ["wall"], ["wall"]] 
+0

いくつかの出力例を追加して、OPがそれが正しい答えであると見なすようにしましょう。 –

+0

質問を編集しました。提案していただきありがとうございます。 – lucapette

+0

ありがとう、私は考えてストリング#を誤解した – Federico

関連する問題