EmEditor、テキストエディタなどの正規表現のマクロで、探索する行数範囲を指定することは可能でしょうか?
テキストエディタ、EmEditorなどの正規表現のマクロで、探索する行数範囲を指定することは可能でしょうか?
お世話になります。
たとえば、以下のような事例です。
10万行のテキストファイルがあったとします。
このとき、最初の100行以外はマッチするかチェックする必要がないとします。
その場合、最初の100行以内までに"北海道.*?雪国"という文字が含まれるかということを調べて100行だけで探索を打ち切るという書き方は可能でしょうか?
このように行数を指定することで、探索時間を大幅に減らしたいのです。
通常の書き方でやると、10万行全部調べるのでキリがない莫大な探索時間になります。
場合によっては、最終行の下から100行のみ探索して置換するなどです。
これはテキストエディタじたい、EmEditorだと高度→正規表現で検索する追加行数の設定というテキストエディタ一律の設定ではなく、マクロで各正規表現のコード単体に行数範囲が指定できますでしょうか?という質問になります。
よろしくお願いいたします。
追加です。
いつもありがとうございます。マクロを書いて頂きありがとうございます。
うまく動作しました。
速くなりました。
☆~★の範囲だけの範囲を指定して、その範囲だけ正規表現で検索や置換は可能でしょうか?
たとえば、5000万行とかになると、通常の凝った正規表現のやり方はかなり難しくなってきました。
特定の範囲だけを指定して、その範囲だけ探索や置換が出来たら劇的に速く、書き方も単純になります。
以下のような遅い書き方ではない方法になります。
batch_list.AddReplace(“\n”,”⏎”,eeFindReplaceRegExp,0);// シングルラインモード
for( i = 0; i < 200; ++i )
batch_list.AddReplace(“(☆[^⏎]?)◎⏎(.?★)”,”\1▼⏎\2″,eeFindReplaceRegExp | eeFindReplaceCase,0);// ◎を▼に変更
batch_list.AddReplace(“⏎”,”\n”,eeFin
事例サンプル 以下のような文書が数千万行あるとします。
あああああ◎←これは変更させません
いいいいい◎←これは変更させません
☆←この範囲内にある◎だけ▼に変更
青森◎
秋田◎
岩手◎
★←この範囲の◎だけ▼に変更
ううううう◎←これは変更させません
えええええ◎←これは変更させません
よろしくお願いいたします。