正規表現置換で無限ループNo.09081
ぎんNaN さん 06/02/03 22:19
 
"(pattern)*$" -> ""

これで全置換をすると無限ループに陥ります。
これはこれで正しい動作のような気がしますが、改善した方がいいのではないのでし
ょうか。

[ ]
RE:09081 正規表現置換で無限ループNo.09085
秀丸担当 さん 06/02/06 11:59
 

>"(pattern)*$" -> ""
>
>これで全置換をすると無限ループに陥ります。
>これはこれで正しい動作のような気がしますが、改善した方がいいのではないのでし
>ょうか。

確かに、この条件だと無限ループしてしまいます。
ヒットした文字が0文字で置換する文字も0文字の場合は強制的に次に進むよう
に改善したほうがいいかもしれません。
検討したいと思います。

[ ]
RE:09081 正規表現置換で無限ループNo.09089
ぎんNaN さん 06/02/09 18:10
 
5.14 beta2で無限ループに陥る置換パターンを発見しました。
実際こんなことやるやつはいないんで、放置でもかまわないと思いますが。
念のため。

1. "^" -> "\0"   # "$"は行末の数だけヒットします。
2. "(pattern)*" or "(pattern)?" -> "\0"

[ ]
RE:09089 正規表現置換で無限ループNo.09092
秀丸担当 さん 06/02/10 09:37
 

タグによって置換後の文字列が0文字になる場合も、確かに無限ループとなりま
した。
放置でもいいかもしれませんが、V5.14ではこのままとして次期バージョンで修
正したいと思います。

[ ]