私は以下のように一致する値を含むべき配列を持っています。Ruby - 一致するペアのための正規表現
gemstone = ["ruby", "red"]
私のような、任意の不可能な組み合わせを破棄するように正規表現を使用しています:
ルビーブルー
サファイアグリーン
エメラルド赤
さて、あなたのアイデアを得ます。私は次の正規表現を使って組み合わせにマッチさせていますが、どういうわけかこれは間違った結果を返します。
(?=.*ruby)(?=.*red).*|(?=.*emerald)(?=.*green).*|(?=.*sapphire)(?=.*blue).*
宝石は、その適切な色を持っていない場合、私はそれを破棄したいと思いますが、それはまたのような正しい組み合わせ、捨てる:青
サファイアを
エメラルドグリーン
適切な組み合わせにのみ一致させるにはどうすればよいですか?
'{ruby:%w [red]、diamond:%w [clear blue yellow]}'のような構造体はここでは扱いやすい*ロット*になります。 – tadman
正規表現をテストするにはhttp://rubular.comをチェックしてください –
REを配列にどのようにバインドしていますか? – cdarke