正規表現での検索No.13754
EMiCC さん 02/12/25 17:27
 
ABC を検索しようとした時、ABC1 や ABCD は対象から外したかったので
ABC[^0-9A-Za-z]
として検索をかけました。
期待通り ABC1 や ABCD は対象外となったのですが、ABC↓( ABC の
直後に改行)にもヒットしなくなりました。

うろ覚えなのですが、たしか以前は ABC↓ にもしていたような気が・・・
私の記憶違いでしょうか?
だとしたら、ABC と ABC↓ にヒットして ABC1 や ABCD にはヒット
させない為には、どの様な正規表現をすればいいのでしょうか?

OS:Windows2000SP3
秀丸:3.19

[ ]
RE:13754 正規表現での検索No.13755
山城屋 さん 02/12/25 17:57
 
検索文字列欄に「ABC($|[^0-9A-Za-z])」と入力し、
正規表現ありで検索してみてください。

[ ]
RE:13754 正規表現での検索No.13757
秀丸担当 さん 02/12/25 18:43
 
>ABC を検索しようとした時、ABC1 や ABCD は対象から外したかったので
>ABC[^0-9A-Za-z]
>として検索をかけました。
>期待通り ABC1 や ABCD は対象外となったのですが、ABC↓( ABC の
>直後に改行)にもヒットしなくなりました。

同じようにしてやってみたところ、ABC↓(改行)でもヒットしました。
ファイルの先頭にABC↓(改行)と書かれている場合は、そもそも検索
対象になりません。
[その他]→[動作環境]→[編集]→[高度な編集]→[カーソル位置の次
の文字から検索を開始]のチェックをはずすと、ファイルの先頭でも
検索できます。

ちなみに正規表現を使わなくても、「単語の検索」にチェックを入れ
れば、普通に「ABC」と検索することでもできます。

[ ]
RE:13757 正規表現での検索No.13758
EMiCC さん 02/12/25 23:42
 
>同じようにしてやってみたところ、ABC↓(改行)でもヒットしました。

すいません。
自分の投稿を見直すと、開いているテキストの内容を検索したようにしか
読めませんね。
改めてその場合もやってみたところ確かに ABC↓(改行)でもヒットしま
した。
ですが grep で検索すると ABC↓(改行)にはヒットしないようです。

まちがった説明でよけいな手間をかけさせてしまい申し訳ありませんで
したが、再度 grep での検証をお願い致します。

[ ]
RE:13758 正規表現での検索No.13761
秀丸担当 さん 02/12/26 18:11
 
>改めてその場合もやってみたところ確かに ABC↓(改行)でもヒットしま
>した。
>ですが grep で検索すると ABC↓(改行)にはヒットしないようです。

grepでしたか。grepでやってみたところ、再現することができました。
grepと検索とで結果が違うのはまずいので修正を検討いたします。

ちなみに単語の検索にすれば、grepでも可でした。

[ ]