正規表現のメタキャラクタ | |
. (ピリオド) |
任意の一文字にマッチ |
[ ] |
中のどれかひとつにマッチ |
? |
直前の正規表現が0回か1回現れるものにマッチ |
* |
直前の正規表現が0回か1回以上現れるものにマッチ |
+ |
直前の正規表現が1回以上現れるものにマッチ |
^ |
行頭において行頭にマッチ |
$ |
行末において行末にマッチ |
\ |
メタキャラクタの機能をなくす |
\| |
両側の正規表現のどちらかを指定 |
\( と\) |
ひとつの正規表現として指定 |
\数字 |
\( と\) でマッチした際のグループの部分を
数で指定 |
\< と\> |
単語の先頭と末尾にマッチ |
\w と\W |
単語の文字にマッチする,しない |
\sC と \SC |
文字クラスCにマッチする,しない |
.
(ピリオド)
任意の1文字にマッチする.
[ ]
[ ]
の中に文字を列挙して,その中のどれかひとつにマッチする.
この中ではメタキャラクタの意味は失わる.ピリオドもピリオド自
身を表現する.
ただし,文字]
を表現したい場合には,[
のすぐ後に,
]
をおく.
たとえば,[][]
とすれば,[
または ]
にマッチす
る.
この[]
の中では,-
と^
の文字が特別な意味を持
つ.
-
(ハイフン)
一続きの文字コードの間におかれた場合には,その文字コード間の任意
の文字とマッチする.
たとえば,"199[6789]"
は,"1996,1997,1998,1999"
にマッ
チするが,
"199[6-9]"
と書くこともできる.
もし文字-
自身とマッチすることも指示したい場合には,
[
のすぐ後ろに書きく.たとえば,[-0-9]
だと,
-,0,1,...,9
の文字のどれかにマッチするという意味になる.
^
(ハット)
^
を[
のすぐ後ろに置くと,^の後に列挙した文字以外のも
のにマッチするようになる.たとえば,[^0-9]
と書けば数
字ではない文字にマッチする.
?
必ず正規表現の後ろで利用し,直前の正規表現が0回か1回現れるもの
にマッチする.
たとえば,"abc?"
は,ab または abcにマッチする.
*
必ず正規表現の後ろで利用し,直前の正規表現が0回以上現れるもの
にマッチする.
たとえば,"abc*"
は,ab
, abc
, abcc
,
abccc
, abcccc
, ...
にマッチする.
*は,直前の正規表現ができるだけ長い部分でマッチするように検索する.
たとえば,文字列"abcdefghijklm the"
を "ab.*e"
で検索し
た場合には,"abcde"
にマッチするのではなくて,
"abcdefghijklm the"
にマッチする.
+
必ず正規表現の後ろで利用し,直前の正規表現が1回以上現れるもの
にマッチする.これも*と同様,直前の正規表現ができるだけ長い部分
でマッチするように検索する.
^
正規表現の先頭に置くことで,行頭にマッチする.
たとえば,"^(defun "
は,行の先頭からはじまる
(defun
にマッチする.
$
正規表現の末尾に置くことで,行末にマッチする.
末尾以外であれば文字$
にマッチする.
\
ここまで説明したメタキャラクタの前に置いて,メタキャラクタの特別
な意味を打ち消す.たとえば,ピリオド自身をあらわしたい場合には,
\.
とする.\
自身をあらわしたい場合には,
\\
とする.