空白を含んだ正規表現の指定

指定文字列をリテラルとして扱う /L オプションと、 正規表現として扱う /R オプションでは、/R オプションがデフォルトであるので、 正規表現を使うとき通常は /R オプションを指定する必要は無い。

正規表現として空白を含んだ表現を使うとき、例えば行頭が空白でない /^[^ ]/ という正規表現を使いたいとき、"^[^ ]" と指定すると、

複数の文字列を検索する場合には、引数 /C を使わず、各文字列をスペースで区切ります。

が有効になって、/^[^/ という不正な正規表現または /]/ という正規表現の検索になり、結局 "]" と同じ結果になる。空白を含んだ正規表現を指定する場合は、 /C:"^[^ ]" というように /C オプションを使う必要がある。

ただし、/C オプションを使うと /L オプションがデフォルトに変わるので、 /R オプションを明示的に指定する必要がある。

結局、行頭が空白でないという正規表現を指定するためには、/R /C 両オプションを使い、

findstr /r /c:"^[^ ]"

と指定する必要がある。

行番号をつける

/n オプションで行番号をつけられるがファイル全体につけたいときは、 全行にマッチする "^" を指定する。

findstr /n "^"


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-05-15 (日) 22:21:37 (6918d)