Feature #1949: Warn needless escaped characters
http://redmine.ruby-lang.org/issues/show/1949

起票者: Yui NARUSE
ステータス: Assigned, 優先度: Normal
担当者: Yui NARUSE, カテゴリ: core

正規表現内での不必要なエスケープに警告を出しませんか。

動機としては、/\uXXXX/の非互換性の話があります。

これは、Ruby 1.8において、不必要なエスケープであった/\u/が、
Ruby 1.9においては\uXXXXという構文が追加されたがために、
エラーが出たり意味が変わってしまったりしたという話でした。

このような不幸な出来事は、/\u/と書いたら警告を出すようにしていたら、
未然に防ぐことができたり、被害を減らすことができたかもしれません。

将来また別のエスケープ記法が追加される事は十分あり得る話だと思います。
その際に同じ不幸を繰り返さないように、警告を出すようにしませんか。

具体的には、文字クラス外の
g, i, j, k, l, m, o, p, q, y, E, F, H, I, J, K, L, N, O, P, Q, R, T, U, V, X, Y
と、文字クラス内の
g, i, j, k, l, m, o, p, q, y, z, A, B, E, F, G, H, I, J, K, L, N, O, P, Q, R, T, U, V, X, Y, Z
あたりになるでしょうか。

なお、現状では警告が出ないが、すでにエスケープ記法として用いている、
/\p/あたりは議論の余地のあるところかもしれません。


----------------------------------------
http://redmine.ruby-lang.org