前田です。

Regexp.quoteで"|"がエスケープされないみたいです。
パッチを付けておきます。

-- 
前田 修吾

diff -u /home/shugo/src/ruby-1.1a2/re.c~ /home/shugo/src/ruby-1.1a2/re.c --- /home/shugo/src/ruby-1.1a2/re.c~ Wed Aug 27 01:16:50 1997 +++ /home/shugo/src/ruby-1.1a2/re.c Wed Aug 27 01:16:50 1997 @@ -670,6 +670,7 @@ if (*s == '[' || *s == ']' || *s == '{' || *s == '}' || *s == '(' || *s == ')' + || *s == '|' || *s == '*' || *s == '.' || *s == '\\' || *s == '?' || *s == '+' || *s == '^' || *s == '$') {