まつもと ゆきひろです

In message "[ruby-list:30972] why does the /\1/ match "foo""
    on 01/08/19, Koji Arai <JCA02266 / nifty.ne.jp> writes:

|| 	  * regex.c (re_compile_pattern): * \1 .. \9 should be
|| 	    backreferences always.

これは「\6が\006と解釈されないようにする」です。

|| 	  * regex.c (re_match): backreferences corresponding to
|| 	    unclosed/unmatched parentheses should fail always.

こっちは「対応する括弧がない、または閉じてないバックリファレ
ンスは失敗とする」です。

|で、以下の挙動の違いは上記の変更によるもののようなのですが、
|なぜこうなったのかも不明です。バグなのではないかと思うのです
|が。。。

後者がかっこの数よりも大きいバックリファレンスについて考慮し
てなかったせいですね。修正します。古い挙動では \1 は \001 と
解釈されていたので、失敗してました。