縦に検索No.38410
mig さん 20/09/16 09:52
 
 こんにちは。

 以下のような検索は可能でしょうか?

□□□□
□□□秀
□□□丸
□□□□□□秀
□□□□□□丸

 "□"はスペースとして、こういうようなテキストで「秀丸」を検索することは可能
でしょうか?マクロライブラリーは検索してみたのですが、それらしいものは見つけ
られませんでした。

 よろしくお願い致します。

[ ]
RE:38410 縦に検索No.38411
IKKI さん 20/09/16 10:18
 
こんにちは。
スペースが必ず行頭から連続しているならば、

検索: ^(□+)秀\n\1丸
正規表現: ON

でいかがでしょうか。

[ ]
RE:38411 縦に検索No.38412
mig さん 20/09/16 10:34
 
 こんにちは。
 ありがとうございます。

□□秀
□□丸
□□エ□秀
□□デ□丸
□□ィ
□□タ

というようなものもあります。また、間に入るものもスペースとは限らず、手がかり
になるのは何文字目が同じという程度です。

 取り急ぎです。


>こんにちは。
> ......
>でいかがでしょうか。

[ ]
RE:38410 縦に検索No.38414
秀丸担当 さん 20/09/16 10:53
 

縦に検索するのは、通常はできなくて、難しい部類だと思います。
全角空白に限ってのことであれば、正規表現で以下のようにしてできると思います。
^(□*)秀.*\n\1丸
この例では全角空白ではなくて例と同じように四角(□)を使っています。

でもおそらくそうではないと思うので、そうなるようにマクロを作るしかないと思い
ます。
フォントが固定ピッチのフォントで、かつ全角だけだったらいいかもしれないですが、
半角があったり文字ごとの幅が違ったら困難です。
(末尾にマクロの例)

それか、簡単に済ますとしたら、正規表現ONで
[秀丸エディタ]
のようにして、検索ダイアログのボタンの「すべて検索 - 色付け」を選んで色付け
します。
そうすると一文字ずつバラバラに色が付くので、それを見た目で縦に繋がっているか
どうかで見つけるのが簡単だと思います。
上部に現れるバーの操作か、標準のキー割り当てでF4/Shift+F4で色の付いたところ
に移動できます。



マクロの例:

setcompatiblemode 0x20000;
#max=300;//適当に一行300文字まで
$a=input("縦に検索する検索文字列を入力(一行"+str(#max)+"文字まで)");
#x=x;
#y=y;
#i=0;
#c=wcslen($a);
while(#i<#max){
    moveto #x,#y;
    #j=0;
    $s="(?<=^.{"+str(#i)+"})"+wcsmidstr($a,#j,1)+".*\\n";
    #j=1;
    while(#j<#c){
        $s=$s+".{"+str(#i)+"}"+wcsmidstr($a,#j,1)+".*\\n";
        #j=#j+1;
    }
    searchdown $s,regular;
    if(result!=false){
        moveto x,y;
        escape;
        break;
    }
    #i=#i+1;
}
if(#i>=#max){
    message "見つかりませんでした";
}

[ ]
RE:38414 縦に検索No.38415
mig さん 20/09/16 11:05
 
ありがとうございます。

ご指摘の方法も、マクロも、とっても助かりました。まさに、全角のみフォントも固
定ピッチなので、何も問題なく、検索できました。

心より御礼申し上げます。

取り急ぎです。

[ ]