@Applekdz

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

EmEditorの正規表現で変数のような記述は可能でしょうか?

お世話になっております。

EmEditorの正規表現で変数のような記述は可能でしょうか?

例えば以下です。
document.selection.Replace("佐藤武史","★",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace("佐藤治美","♪",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace("佐藤浩","▼",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace("佐藤正","●",eeReplaceAll | eeFindReplaceRegExp,0);

こんな感じのだとすると佐藤というのが、大量にあちこちに記述して同時に使い回しで記述する場合

let a=佐藤;

document.selection.Replace("a武史","★",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace("a治美","♪",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace("a浩","▼",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace("a正","●",eeReplaceAll | eeFindReplaceRegExp,0);

これで一ヶ所の変更で使い回しマクロのテンプレが出来ます。

このような正規表現での変数のようなマクロの記述は可能でしょうか?

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

0 likes

1Answer

以下のように記述してください。

a="佐藤";
document.selection.Replace(a+"武史","★",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace(a+"治美","♪",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace(a+"浩","▼",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace(a+"正","●",eeReplaceAll | eeFindReplaceRegExp,0);
1Like

Comments

  1. @Applekdz

    Questioner

    出来ました。ありがとうございます。
  2. @Applekdz

    Questioner

    お世話になっております。
    このマクロの質問でわからないことが発生しました。
    単純なパターンは行けるのですが以下のような正規表現のキャプチャーの場合です。
    よろしくお願いいたします。


    axz="鈴木次郎";
    batch_list = editor.filters;
    batch_list.AddReplace("(axz)","\\n\\1",eeFindReplaceRegExp,0);

    document.selection.BatchReplace(batch_list,eeReplaceAll,eeExFindRegexOnigmo);


    この鈴木次郎と書いてあるところをキャプチャーして改行するのはどう書けば行けますでしょうか

    例文
    処理前
    きのう北海道で鈴木次郎は講演会を開きました。

    処理後
    きのう北海道で
    鈴木次郎は講演会を開きました。



Your answer might help someone💌