backslash

なるほど。確かに正規表現パターンの最後がbackslashで終わるとき、それがエスケープの意味である筈はないから、backslash文字と解釈するという方法も考えられる。

Regexp.new("aaa\\")  # これをエラーにしない aaa\

でも、そういう特別ルールを作ると、パターンの最後に二個のbackslashが来る場合などで逆に混乱する気がする。八個でも六個でも同じ意味に解釈すればよいのかもしれないが。

Regexp.new("aaa\\\\\\")    # aaa\\
Regexp.new("aaa\\\\\\\\")  # aaa\\