Regexp#union
Regexp#unionで複数の正規表現のいずれか一つにマッチする正規表現を作成できます。
reg = Regexp.union( /[a-c]+/, /[l-m]+/, /[x-z]+/ ) # 以下はすべてマッチする。 puts reg =~ "aaa" puts reg =~ "bbb" puts reg =~ "ccc" puts reg =~ "lll" puts reg =~ "xxx" # これはマッチしない。 puts reg =~ "eee"
実行結果です。
0 0 0 0 0 nil
「()」も普通に使えます。
# ()も普通に使えます。 reg = Regexp.union( /([a-c])+/, /([l-m])+/, /([x-z])+/ ) puts reg.match("aaa")[1]
実行結果です。
a