findstrの使い方の基本
findstrで正規表現で検索する方法
正規表現とは
findstrで使用することのできる「正規表現(regular expression)※」というのは、文字の検索において使われる特殊な文字シーケンスのことです。正規表現を利用するためのオプションは「/r」となっており、findstrコマンドに/rを付与するだけで正規表現で検索を行うことができるようになります。
(※正則表現とも呼ばれています)
正規表現で使用する表記
- .:任意の1文字に一致するワイルドカード文字。「a.b」とした場合にabb・aab・acbはマッチする、abcの場合はマッチしない。
- *:直前の文字の0回以上の繰り返し。「a*b」とした場合には指定したaで始まった文字列が続き、ab・aab・aaabなど最後がbの文字列がマッチする。
- ^:行の先頭。「^abc」とした場合、行の先頭がabcのものにマッチする。
- $:行の末尾。「$abc」とした場合、行の末尾にあるabcにマッチする。
- [x]:指定した文字xのうち、任意の1文字。「人数[123]」とすると人数1・人数2・人数3にはマッチするが人数4にはマッチしない。
- [^x]:指定した文字xのうち、x以外の文字。「abc[df]」とするとabcd・abcfにはマッチしない。abceなどにはマッチする。
- [x-y] :文字範囲を指定する。指定した文字範囲内の任意の1文字。「[a-z][a-z0-p]*」の場合、任意の英数字が続く文字列にマッチする。
- \x:文字をエスケープする。特殊文字を指定する場合に使用する。「a[a\]」とすると、[a]の文字列にマッチする。
- \<単語:単語の先頭。「\<abc」とした場合abcで始まる単語のみマッチする。単語の中にabcがあってもマッチしない。
- 単語\>:単語の末尾。「abc\>」とした場合に単語の末尾がabcの場合のみマッチする。先頭や途中にabcがあってもマッチしない。