grep について。No.00711
kimi さん 98/03/31 10:54
 
はじめまして。kimiです。

 すみません。教えて下さい。
現在、秀丸エディタforWindows95のVer.2.20を使用していますが、
grep で正規表現が使用できなくなってしまいました。
同じ正規表現で検索は出来るのでマッチしない条件では無いようです。

 以前のVerでは快適に使用できていたのですが・・・(;_;
OSは、Win95、WinNT WS4.0両方で同じ結果です。

 ちなみに、現在検索している条件は、 \n[^0-9]
(行頭が数字以外の行の前の行)です。
 ほかにも、 \n\t 等、色々試しましたが全然マッチしません。
操作ミスでは無いと思うのですが・・・

[ ]
RE:00711 grep について。No.00712
noro さん 98/03/31 13:12
 
 kimi さん、こんにちは(^^)noroです。

 え〜と、grep は複数行にまたがる検索ができないと記憶しておりますが…

 grep での正規表現の使用可否の問題ではなくて、grep で使用する正規表現
中に \n が末尾でないところに含まれているために、検索文字列が複数行にま
たがり、結果として検索できない状態になっているのだと思います。

 半角数字以外の文字で始まる行の前の改行文字( \n[^0-9] )はムリでも、半
角数字以外の文字で始まる行の行頭( ^[^0-9] )を検索することはできますよ
ね(^^)ちょっとだけ手間が増えてしまうかとは思いますが…


[ ]
RE:00711 grep について。No.00717
秀丸担当 さん 98/03/31 14:00
 
>現在、秀丸エディタforWindows95のVer.2.20を使用していますが、
>grep で正規表現が使用できなくなってしまいました。
>同じ正規表現で検索は出来るのでマッチしない条件では無いようです。

単純に考えられるのは、grep時に「正規表現」がチェックされていない
ことですが、そうでないとすると、文字コードが違うためかもしれません。

EUCコードかJISコードでテキストを保存している場合、「開く」で通常
に開いて、検索で正規表現も使えますが、grepはできません。
SHIFT-JISコード(通常)またはUnicodeで保存している場合はgrep
できます。

[ ]
RE:00712 grep について。No.00718
秀丸担当 さん 98/03/31 14:02
 

> え〜と、grep は複数行にまたがる検索ができないと記憶しておりますが…

ううっ、そうですね。
文字コードではなくきっと複数行ができないためでした。

[ ]
RE:00712 grep について。No.00719
kimi さん 98/03/31 15:45
 
kimiです。
みなさん、RESありがとうございます。

 目から鱗が落ちたような気分です。(^^;;
たしかに、grepで複数行に渡るような正規表現は使えませんよね・・
UNIXのgrepでも確認してみましたけど同じ結果でした。

 以前のVerではなぜか?出来ていたので便利に使用していたのですが・・(^^;

> 半角数字以外の文字で始まる行の前の改行文字( \n[^0-9] )はムリでも、半
>角数字以外の文字で始まる行の行頭( ^[^0-9] )を検索することはできますよ
>ね(^^)ちょっとだけ手間が増えてしまうかとは思いますが…

 なんとか、代りの方法を考えてみます。
 ありがとうございました。

[ ]
RE:00719 grep について。No.00730
ひろ さん 98/04/01 23:39
 
 kimiさん今日は、ひろです。
>  目から鱗が落ちたような気分です。(^^;;
> たしかに、grepで複数行に渡るような正規表現は使えませんよね・・
 正規表現の表記方法が、一部秀丸と異なっているので注意する必要はありま
すが、Free の grep soft 「Qgrep」だと複数行にわたる検索や、EUC, JIS の
自動判別も可能だったと思います。
 検索結果からそのまま秀丸の tag jump にも利用できます。
 http://www2k.biglobe.ne.jp/~araken/
で手に入ります。

[ ]