|
Ver5.00 ベータ版は、β26 から使い始めました。
よろしくお願いします。
FindRegular関数の検証用に、以下のマクロで実験をしました。
---------------------------------------------------------------
loaddll "HmJre.dll";
if( !result )
{
message "DLLロードに失敗!";
endmacro;
}
$s = "http://www.example.com/foo/bar.html";
$p = "[^/]+\\.html?$";
#n = dllfunc( "FindRegular", $p, $s, 0 );
if( #n == -1 ) message "マッチしませんでした。";
else if( #n == -2 ) message "不正な正規表現!";
else
{
#ln = dllfunc( "GetLastMatchLength" );
message midstr( $s, #n, #ln );
}
freedll;
endmacro;
---------------------------------------------------------------
【再現手順】
1. 上記マクロをそのまま実行します。問題なく実行され結果も良好です。
2. 正規表現を不正なパターンに変更して実行します。
$p = "[^/+\\.html?$"; // 終わり角括弧を削除
-2 が返り、問題なく実行されます。
3. 不正なパターンに変更した正規表現を元の正しいものに戻し実行します。
「プロセスの保護違反」で、dump.txt を吐いて死んでしまいます。
検証のほど、よろしくお願いします。
Windows XP SP1
秀丸 Ver 5.00 β26
|
|