マクロ内の変数内の文字列に対してで正規No.03996
tadokoro さん 03/12/04 00:00
 
マクロ内の変数内の文字列に対して正規表現の検索や置換を
行いたいのですが、このようなことは可能でしょうか?

http://www.ceres.dti.ne.jp/~sugiura/hidemaru/macros/dgserver/index.html

このサイトで公開されている「BREGEXP.DLL」を使うと
マクロ内で変数に対してPerl互換の正規表現による検索や置換が
できるみたいですが、できればHMJRE.DLLの正規表現を使いたいです。

[ ]
RE:03996 マクロ内の変数内の文字列に対しNo.03997
あべのり さん 03/12/04 14:10
 
>マクロ内の変数内の文字列に対して正規表現の検索や置換を
>行いたいのですが、このようなことは可能でしょうか?

秀丸のマクロだけではいったんエディッタのバッファに吐き出してsearchdownやrepl
aceといったところでしょうか。

DLLならば自分のものでなんですが僕の作っているマクロに使われているdllが使えま
す。
http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/fortex.html
の祝鳥開発版に入ってるmacrodll.dllがそれになります(fortex\sub内に入っていま
す。)。

使い方はdllロード後に
//検索
if(dllfunc("COLLECTSTR_COLLECT","\\label{abc}{def}","\\{\\f.*?\\f\\}","\\1")
 < 0)message "失敗";
while(dllfunc("COLLECTSTR_ISMORESTR")){
message dllfuncstr("COLLECTSTR_GETSTR");
}

//置換
message dllfuncstr("GSUB","\\label{abc}{def}","\\{\\f.*?\\f\\}","[\\1]",fals
e,true);

という感じです。内部にHmJreのソースを用いてますので、HmJre相当の検索が出来る
はずです。但し、公開されているのが1.00なので、1.01になる時になされた変更点は
追加されていません。

[ ]