/(?!)/ は「どんな文字列にもマッチしない」パターン
Regexp.union は Ruby 1.8.1 で追加されたメソッドで、引数がすべて文字列の場合は以下と同じ意味です。
def Regexp.union(*strings) return /(?!)/ if strings.empty? new(strings.map {|s| escape(s) }.join('|')) end例えば Regexp.union('aa', 'bb', 'cc') は文字列 aa か bb か cc にマッチする正規表現を返します。
引数がゼロ個のとき(strings.empty?)にはどういう正規表現が返ってくるのでしょうか。 Regexp.union('aa', 'bb') は aa か bb、Regexp.union('aa') は aa ……と順番に考えてみると、引数がゼロ個のときは「どんな文字列にもマッチしない」パターンが適切であるとわかります。それが /(?!)/ です。
ふむふむ。なるほどー。