秀丸エディタスレ Part21at SOFTWARE
秀丸エディタスレ Part21 - 暇つぶし2ch175:名無しさん@お腹いっぱい。
08/02/05 04:40:26 T5anPIsk0
>>172-174

GSUBS: // 文字列置換
// $$1 = 対象文字列
// $$2 = 検索文字列
// $$3 = 置換文字列
$$s = $$1;
while (true) {
##p = strstr($$s, $$2);
if (##p < 0) break;
$$r = $$r + leftstr($$s, ##p) + $$3;
$$s = midstr($$s, ##p + strlen($$2), 8192);
}
return $$r + $$s;

GSUBR: // HmJre.dll による正規表現置換(事前に loaddll "HmJre.dll"; が必要)
// $$1 = 対象文字列
// $$2 = 検索パターン
// $$3 = 置換文字列(後方参照不可)
// ##4 = 1:大文字小文字を区別する
$$f = leftstr("FindRegularNoCaseSense", 11 + (##4 == 0) * 11);
$$s = $$1;
while (true) {
##p = dllfunc($$f, $$2, $$s, 0);
if (##p < 0) break;
$$r = $$r + leftstr($$s, ##p) + $$3;
$$s = midstr($$s, ##p + dllfunc("GetLastMatchLength"), 8192);
}
if (##p == -2) message "正規表現のエラーです\n" + $$2;
return $$r + $$s;

HmJre.dll v1.90 から後方参照も可能になった。だれか後方参照対応の置換サブルーチンを書いてくれ


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch