置換に関して

投稿者: peko4 声6 投稿

最新バージョンのEmEditorを使ってるんですが、正規表現の置換が遅すぎて困ってます。 5万箇所のタブをスペースに置換するのに他のエディタだと2秒前後で出来るんですが、EmEditorだと30秒以上かかります。 設定等で5秒以下の置き換えは可能でしょうか? もちろん正規表現を使用するのは前提での話です。 分かる方の解答をお待ちしております。
マクロで10万個のタブ作ってテストしてみました。選択範囲をTABから空白に変換コマンドなら1秒ほどで出来ました。 WindowsXp Pro, Mem 768MB Mobile Pentium4 2.4GHzです。 [文書全体のタブを空白に変換] コマンド じゃだめなの?保存時に、TABを空白にするオプションとか。 正規表現のチェックを外し、エスケープシーケンスにチェック入れた状態の方が、置換は可能で早かったです。遅いのであれば、正規表現以外の手も考えてみてはいかがでしょうか。EmEditorのマクロでScriptエンジンの正規表現使っても良いでしょうし。EmEditorにはいろいろ手法があると思います。置換がたくさんあるのなら、スクリプト作った方が楽ちんかも。 ダイアログを使った大量の正規表現の置換が遅いといえば、確かに遅いですね。30秒以上かかって(応答無し)になってしまった。
「カスタマイズ」-「検索」ー「正規表現」で検索する追加行数が0以外の値になっていませんか?
takuyaさん、2ndさん、お返事有難うございます。 書き方が悪かったようで誤解を招いてしまったようです。 すいません。 ようは、正規表現を使った置き換えで万単位の置き換えをすると遅すぎるって事が言いたかったのです。 別にタブをスペースにするのが目的ではありません。 他のエディタだと一瞬なので何で遅いのかな?って疑問を思って質問したしだいです。 結論としては、マクロでScriptエンジンの正規表現?を使うか正規表現以外で置き換えるって方法しかないって事でしょうか? ちなみに、追加行数は0にしてます。
改行の入らないテキストを正規表現で置換すると、 たしかにかなり遅いですね。
確かに正規表現置換は重いですね。現状はどうしようもないと思うので、質問カテゴリではなく、不具合か機能要望に投稿してみはいかがでしょうか

このトピックの投稿: 6