正規表現を使う
シェルのメタキャラクタは特別な文字で任意の文字を表すのに使用されます。
* |
0文字以上の任意の文字列にマッチする
|
---|---|
? |
任意の1文字にマッチする
|
[文字列] |
[ ]内の任意の1文字にマッチする
|
[!文字列] |
[ ]内の任意の1文字以外の1文字にマッチする
|
正規表現は特殊文字を使って文字列の集合を表します。
. |
任意の1文字にマッチする
|
---|---|
* |
直前にある文字の0回以上の繰り返しにマッチする
|
^ |
行頭にマッチする(最初にあるときのみ有効)
|
$ |
行末にマッチする(最後にあるときのみ有効)
|
[ ] |
[ ]内の任意の1文字にマッチする
|
\ |
直後に続くメタキャラクタの意味を解除する
|
+ |
直前にある文字の1回以上の繰り返し
|
? |
直前にある文字の0回もしくは1回の繰り返し
|
| |
| の左右1文字の記述いずれかにマッチする
|
(注)
シェルのメタキャラクタと正規表現とでは意味が異なるメタキャラクタがあります。
シェルのメタキャラクタ「*」は正規表現では「.*」となります。
シェルのメタキャラクタ「?」は正規表現では「.」となります。
正規表現の例
正規表現の例です。
a.c |
「abc」「axc」「azc」などにマッチする
|
---|---|
.* |
0文字以上の文字列にマッチする
|
[A-Z] |
大文字のアルファベット1文字にマッチする
|
[0-9][0-9] |
2桁の数字にマッチする
|
[A-Z]+ |
大文字のみの文字列にマッチする
|
[0-9]+ |
数字のみの文字列にマッチする
|
[a-zA-Z]+ |
アルファベットのみの文字列にマッチする
|
^$ |
空行(改行のみの行)にマッチする
|
.*\.txt |
「.txt」で終わる文字列にマッチする
|
abcd? |
「abc」もしくは「abcd」にマッチする
|
ab|cd |
「abc」もしくは「acd」にマッチする
|
2011.12.01