まつもと ゆきひろです
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)
まつもと ゆきひろ /:|)