まつもと ゆきひろです

In message "[ruby-list:1582] [BUG] Regexp"
    on 97/01/06, sinara / blade.nagaokaut.ac.jp <sinara / blade.nagaokaut.ac.jp> writes:
|
|原です。あけましておめでとうございます。

|(3)次のコードで制御がかえらなくなる。

このケースはほぼワーストケースのようで(否定のor),マッチする
文字が1文字長くなる度にほぼ倍々で実行時間がかかります.私の
ノートでは

  "Server: httpd.rb/1.2\n" =~ /(\S|[^a])+b/

に20秒かかりました.これでは制御か返らなくなるように感じられ
ると思います.しかし,これを直すのは結構大変なので(たとえば
上記のパターンは否定のorで . と同等で,通常は使われないパター
ンのはずですし),将来正規表現のルーチンを書き換えるまで(いつ
になるんだろう)我慢してください.

ところで本当に書きたかったパターンは

  /[^\sa]+b/

あるいは

  /[^ \t\f\n\ra]+b/

じゃなかったんですか? (こっちはand)

                                まつもと ゆきひろ /:|)