|
colderです
hmjre.dllの仕様の確認と不具合の報告です。
・ReplaceRegularの置換文字列にエスケープシーケンスが
使えないのは仕様でしょうか?
//再現用マクロ
loaddll "hmjre.dll";
$ret = dllfuncstr("ReplaceRegular","\\t","a\tc",0,"\\x20",1);
insert $ret;
freedll;
・ReplaceRegularで単語非境界 \Y が全角文字の
1バイト目と2バイト目の間にマッチする場合がある。
//再現用マクロ
loaddll "hmjre.dll";
$ret = dllfuncstr("ReplaceRegular","\\Y","りんご",0," ",1);
insert $ret;
freedll;
・検索パターン「(.{3,}).*\1e」が「xabcdfabcde」にマッチしない
//再現用マクロ
insert "\nxabcdfabcde\n";
gofiletop;
searchdown "(.{3,}).*\\1e",regular;
if(!result) message "見つかりませんでした";
・置換で後方参照にヒットしていない部分が格納されていることがある
例1:検索パターン「(\d)?\d」置換パターン「<\1>」で文字列「2」を置換すると
「<2>」になる
例2:検索パターン「\i|(\d)」置換パターン「<\1>」で文字列「a」を置換すると
「<a>」になる
・検索パターン「\i|(\d)\1」が不正なものとなる
・あいまい検索で「あ」と「ぁ」を区別しないで「わ」と「ゎ」、「ワ」と「ヮ」を
同一視しない
・あいまい検索/正規表現ともにonで、同一視指定ファイルに以下のものを設定すると、
前方一致/不一致、後方一致/不一致、タグ参照しない括弧が不正なものになる。
//同一視する設定
<= less_equal
<! less_not
= assign
! not
: colon
環境 XP + 秀丸ver8.02β7 + hmjre.dllver3.29
|
|