#30584
Applek
参加者

ありがとうございます。
同一ワンパターンの大量データベースを照合させる場合には、リンクファイルの方法が最速であることを理解いたしました。

逆に言うと以下のような使い方になる場合はリンクの書き方は向いていないと言うことになるかと思います。

私の場合は、上記の動画の使い方の場合もありますが、正規表現と非正規表現記述の混在した記述が入り交じった状態になります。
また最初は非正規表現である場合であっても、動作の様子を見て正規表現の書き方に付け足すことがあります。
正規表現のパターンは、
batch_list.AddReplace(“\\n”,”⏎”,eeFindReplaceRegExp,0);// シングルライン
batch_list.AddReplace(“⏎”,”\\n”,eeFindReplaceRegExp,0);// シングルラインモード解除
シングルラインモードなどを交えた正規表現パターンは混在です。

たとえば事例で言うと
batch_list.AddReplace(“ほっかいどう”,”北海道”,eeFindReplaceRegExp,0);// 非正規表現
この場合は途中から様子を見て
batch_list.AddReplace(“ほっかいどう([^で])”,”北海道\\1″,eeFindReplaceRegExp,0);// 正規表現に変える

こんなふうに部分的にあとから正規表現をつけたしたりすることがよくあります。
こういう混在書き、柔軟な変更をよくする使い方の場合については従来型(リンクではない)の書き方でないと難しいということになりますでしょうか?
そういうことでしたら、リンクでない従来の書き方で最速にして頂けると幸いです。
課題は認識されていても混在型の書き方を速くするのが技術的に難しいとかデメリットがあるから見送っているということが理由でしたらしかたないと思っています。

私としては、従来の1個のファイル(リンクでないファイルのほうが)、その都度の編集や変更がしやすいというメリットがあります。
前回の質問でリンクの使い方を回答頂きましたので知ってはいましたが、その都度、頻繁な編集には向いていないので従来型の書き方にしていました。

このあたりの内部処理のメカニズムの事情はわからないので質問させていただきました。
ただ、上記の書き方であっても、単純な置換の場合でも、いずれにしても2000個くらいで区切るだけで、かなり速くなったのが検証結果ででていますので、アルゴリズム的に従来型の記述でも速くなると思います。
たとえば2000個以上書かれている場合は内部処理で、一旦閉じて書いて無くても自動的に区切って分割処理するとかです。
それで区切る手間は省けますし速くなります。
1回の処理は最大で2000個までとして、分割処理するというのはどうでしょうか?
これでマクロの記述のほうは省けます。

よろしくお願いいたします。