75413


お世話になっております。  
私の使い方が間違っている可能性がたかいのですが、`Boost.Regex`と`Onigmo`を連続置換でマクロを記録した場合にどちらも同じ記載で記録されます。  
`Onigmo`で連続置換したいのですが、連続置換はマクロ側で`Boost.Regex`と`Onigmo`を指定して使い分けできますでしょうか？

  * `Boost.Regex`指定でマクロを記録した結果

[code]

    batch_list = editor.filters;
    batch_list.AddReplace("無.*$","有線",eeFindReplaceCase | eeFindReplaceRegExp,0);
    document.selection.BatchReplace(batch_list,eeReplaceAll,0);
    
[/code]

  * `Onigmo`指定でマクロを記録した結果

[code]

    batch_list = editor.filters;
    batch_list.AddReplace("無.*$","有線",eeFindReplaceCase | eeFindReplaceRegExp,0);
    document.selection.BatchReplace(batch_list,eeReplaceAll,0);
    
[/code]

このように使い分けたつもりでもできあがるマクロは同じになります。  
これはマクロで書いたら`Boost.Regex`と`Onigmo`のどちらを使うのでしょうか？

通常置換の場合は

[code]

    document.selection.Replace("","",eeReplaceAll | eeFindReplaceRegExp,0);
    document.selection.Replace("","",eeReplaceAll | eeFindReplaceRegExp,eeExFindRegexOnigmo);
    
[/code]

このようになるので  
`Onigmo`の場合は以下のように書き換えるのでしょうか？

[code]

    batch_list = editor.filters;
    batch_list.AddReplace("無.*$","有線",eeFindReplaceCase | eeFindReplaceRegExp,0);
    document.selection.BatchReplace(batch_list,eeReplaceAll,eeExFindRegexOnigmo);
    
[/code]

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


CC BY-SA 4.0
2021-04-16T19:58:21.423
75332
2021-04-21T00:19:49.747
2021-04-20T21:45:57.307
43999
43999
question
emeditor
EmEditorのOnigmoを指定した連続置換の書き方について


もうおわかりのようですが、Onigmo を使う場合は、以下のように書いて下さい。

[code]

    batch_list = editor.filters;
    batch_list.AddReplace("無.*$","有線",eeFindReplaceCase | eeFindReplaceRegExp,0);
    document.selection.BatchReplace(batch_list,eeReplaceAll,eeExFindRegexOnigmo);
    
[/code]

参考：  
<http://www.emeditor.org/ja/macro_selection_batch_replace.html>


CC BY-SA 4.0
2021-04-20T16:51:15.713
75413
2021-04-21T00:19:49.747
2021-04-21T00:19:49.747
3060
40017
75332
answer