2つの正規表現によるAND/ORを提供する。
Regexpクラスに&と|のメソッドを定義し、それぞれ 2つの正規表現の両方にマッチすれば真となるもの(RegAnd)と いずれかにマッチすれば真となるもの(RegOr)を返す。 RegAnd、RegOrは=~のみサポートしている。
require 'eregex' p "abc" =~ /b/|/c/ p "abc" =~ /b/&/c/
組み込みクラスRegexpを拡張して次のメソッドを定義している。
Regexp#&(other)RegAnd(self,other)を返す
Regexp#|(other)RegOr(self,other)を返す
RegAnd#initialize(reg1,reg2)コンストラクタ
RegAnd#=~(str)strがreg1とreg2の両方にマッチすれば真を返す
RegOr#initialize(reg1,reg2)コンストラクタ
RegOr#=~(str)strがreg1かreg2のいずれかにマッチすれば真を返す