正規表現 該当行が「空白、タブ、改行のNo.03440
ERIC さん 02/10/10 18:06
 
はじめまして。コーディング初心者です。
各行ごとのチェックを行い、“該当行が「空白、タブ、改行のみ」の場合”は処理し
ない
としたいのですが、良い方法を教えて下さい。 宜しくお願い致します。

<現在の方法>
// 該当行にカーソルがある状態で開始。
up;
golineend;
beginsel;
down;
golineend;
searchdown "^[\\t\\x20]*$",regular, inselect;// 空白のみ …動いています
if(result) return;
golineend;
beginsel;
down;
golineend;
searchdown "^$",regular, inselect;// 改行のみ …動いてない
if(result) return;

処理実行;
return;

[ ]
RE:03440 正規表現 該当行が「空白、タブNo.03442
きいろいまふらあ さん 02/10/10 22:09
 
問題の核心を避けるのはずるいかもしれませんが、目的達成だけを考えたら

if(code == 0x0D)return;
>up;
>golineend;
>beginsel;
>down;
>golineend;
>searchdown "^[\\t\\x20]*$",regular, inselect;// 空白のみ …動いています
>if(result) return;
>
>処理実行;
>return;

でいいのかな、と。

(核心を避けつつ(^^;)さらに言うと、

if(code == 0x0D)return;
selectline;
>searchdown "^[\\t\\x20]*$",regular, inselect;// 空白のみ …動いています
>if(result) return;
>
>処理実行;
>return;

じゃだめですかね?
お書きになったコードと等価ではないですけれど

[ ]
RE:03442 正規表現 該当行が「空白、タブNo.03443
encodingshiftjis さん 02/10/11 00:00
 
こんなのも、あります。細かい動作はイメージしにくいです。

selectline;
searchdown2 "^[ ]*$",regular,inselect;// TAB と SPACE
menu str(result);

[ ]
RE:03443 searchdown2とsearchdownの違いNo.03447
ERIC さん 02/10/11 11:09
 
ありがとうございます!
 selectline;
 searchdown2 "^[ \\t]*$",regular,inselect;
これだけのコードで、改行のみの行も検索できました!

でも。申し訳ありません。何故OKになったのか分かりません。
お手数ですが。searchdown2について教えていただけませんか?

上記のコードで、searchdown2をsearchdownに変更すると、
正規表現の^(行頭)がうまく使えないようなのですが???
範囲選択後の検索でもカーソル位置が関係あるのでしょうか???

[ ]
RE:03447 searchdown2とsearchdownの違いNo.03460
encodingshiftjis さん 02/10/12 00:34
 
1文字の動作の違いです

秀丸のマクロヘルプの検索系文の説明の末尾に書いてあります
Web 検索でも見えます、検索語  searchdown2

[ ]