検索・置換系
現在、3 つのサブルーチンが公開されています。
01.Searchdown |
【説明】
//カーソル位置「以降」の語句を検索。有無をresultで判定。正規表現で検索。
//引数:検索語句(文字型)
//返値:result
|
【ソース】
Searchdown:
$s=searchbuffer; #f=searchoption; //検索バッファなど抜き出し
searchdown $1,regular;
setsearch $s, #f; //検索バッファなど復元
return result;
|
【使用例】
call Searchdown "<([^<>]|\\n)*>";
if(##result){
message "見つかりました。";
}else{
message "見つかりませんでした。";
}
|
【備考】
-
|
02.Searchup |
【説明】
//カーソル位置「以前」の語句を検索。有無をresultで判定。正規表現で検索。
//引数:検索語句(文字型)
//返値:result
|
【ソース】
Searchup:
$s=searchbuffer; #f=searchoption; //検索バッファなど抜き出し
searchup $1,regular;
setsearch $s, #f; //検索バッファなど復元
return result;
|
【使用例】
call Searchup "<([^<>]|\\n)*>";
if(##result){
message "見つかりました。";
}else{
message "見つかりませんでした。";
}
|
【備考】
-
|
03.StrMatch |
【説明】
//マッチした文字列を置換(正規表現は無理)
//引数:
//$1 = 置換をおこなう文字列
//$2 = 置換前の文字
//$3 = 置換後の文字
//返値:
//置換処理後の文字列
|
【ソース】
StrMatch:
while( 1 ){
call Separation_left $1, $2; //区切りの左側取得
$left = $return;
//区切りの左側がある場合
if( $left != "" ){
$value = $value + $left + $3;
call Separation_right $1, $2; //区切りの右側取得
$right = $return;
if( $right != "" ){
$1 = $right;
}else{
break;
}
}else{
//区切りが行頭にある場合
if( strstr( $1, $2 ) == 0 ){
$value = $value + $3;
call Separation_right $1, $2; //区切りの右側取得
$1 = $return;
if( $1 == "" ){
break;
}
}else{
$value = $value + $1;
break;
}
}
}//while END
return $value;
|
【使用例】
$str = "test|test|test";
call StrMatch $str, "|", " ][ ";
$str2 = "[ " + $return + " ]";
insert $str + "\n→" + $str2 + "\n";
endmacro;
|
【備考】
Separation_left および Separation_right 併用のこと。
|
このページの先頭へ
|
|
|