マクロの正規表現がヒットしません。No.35447
Parupunte さん 16/11/30 20:17
 
以下のファイルで以下のマクロを実行してもfile2の行がヒットしません。
秀丸のメニューの[検索]から正規表現で /[^/]*: を検索すると
file1とfile7の行以外すべてヒットします。
"/[^/]*:" を "^/" に変えるとマクロでは1行もヒットしませんが、
秀丸のメニューの[検索]から正規表現で ^/ を検索するとfile2の行
がヒットします。
マクロの使い方が間違っているのでしょうか?
環境はVista、秀丸 ver8.64 と ver8.42です。

マクロ:
gofiletop;
while ( code != eof ){
 selectline;
 searchdown "/[^/]*:",inselect,regular;
 if( result ){
  $buf = gettext(0,y,linelen,y);
  message " Hit! = " + rightstr($buf,linelen);
 }
 golineend;
    right;
}

ファイル:
http://www.a.com/d/123/file1
/http://www.a.com/d/123/file2
h/ttp://www.a.com/d/123/file3
ht/tp://www.a.com/d/123/file4
htt/p://www.a.com/d/123/file5
http/://www.a.com/d/123/file6
http://www.a.com/d/123/file7
 /http://www.a.com/d/123/file8
  /http://www.a.com/d/123/file9
[eof]

[ ]
RE:35447 マクロの正規表現がヒットしませNo.35448
h-tom さん 16/11/30 21:01
 

h-tom です。

>マクロの使い方が間違っているのでしょうか?

マクロのヘルプを見ると(searchdown下の方)
>searchdownは、カーソル位置の次の文字から検索を開始します。
とあります。

行選択を行うと、カーソルは先頭に移動します。
その為、"/[^/]*:"は、file2にマッチしません。

ということで、searchdown2を使いましょう。
>カーソル位置から検索するには、searchdown2を使います。

[ ]
RE:35448 マクロの正規表現がヒットしませNo.35449
Parupunte さん 16/12/01 11:45
 
>
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
>>カーソル位置から検索するには、searchdown2を使います。



おおっ!
ありがとうございます。

[ ]