ReplaceRegular後方一致についてNo.10137
styth さん 23/05/01 09:08
 
loaddll "hmjre.dll";
$text = gettext(seltopx, seltopy, selendx, selendy, 1); //1を指定すると、範
囲選択を維持
//$text2 = dllfuncstr("ReplaceRegular", @"^Subject: *(.+)(?=aaa)", $text, 0,
 @"\1", 2 );
$text2 = dllfuncstr("ReplaceRegular", @"^Subject: *(.+?)(?=aaa)", $text, 0,
@"\1", 0 );
message $text2;
endmacro;

 上記マクロで、
 次の1文を置換します。(選択範囲に改行は入れていません。)

Subject:   あいうaaa

 messageで表示される文字列は、

あいうaaa

 となります。

あいう

 だけにしたいのですが、そうなりません。
 ご確認、頂けないでしょうか?
 手動でやっても同じでした。
 どこかが違っていたら助言を頂きたいのですが、宜しくお願い致します。

[ ]
RE:10137 ReplaceRegular後方一致についてNo.10138
h-tom さん 23/05/01 23:17
 
h-tom です。

> ご確認、頂けないでしょうか?
"あいうaaa"になるのは仕様通りの動作ですよ。

> 手動でやっても同じでした。
> どこかが違っていたら助言を頂きたいのですが、宜しくお願い致します。
手動でやっているなら、マッチしている範囲は認識できてますよね?
置換対象なのはその範囲内なので "あいうaaa" になります。
"aaa"も消したいなら、"aaa"もマッチ範囲に入るようなパターンを指定してください。

[ ]