正規表現が使える。Perlなどの「\」ではなく、「%」を使う。
メタ文字 | その意味 |
---|---|
x | 文字 x それ自身を表す。 |
.(ドット) | すべての文字を表す。 |
%a | すべてのletterを表す。 |
%c | すべての制御文字を表す。 |
%d | すべての数字を表す。 |
%l | すべての小文字を表す。 |
%p | すべての区切り記号を表す。 |
%s | すべての空白文字を表す。 |
%u | すべての大文字を表す。 |
%w | すべての英数文字を表す。 |
%x | すべての十六進数字を表す。 |
%z | 0として表現される文字を表す。 |
%x (x は英数文字以外) | 文字 x 自身を表す、文字のエスケープ |
[set] | set 内のすべての文字の和からなるクラスを表す。a-z 範囲を表す。 |
[^set] | set の補集合を表す。 set の内容は上で説明したものと同じである。 |
パターンの要素 は以下のいずれかである。
パターンはカッコで囲まれたサブパターンを持つことができ、それらは キャプチャ と呼ばれる。マッチが成功したとき、対象文字列の中でキャプチャにマッチした部分が保存 (キャプチャ) され、後で使うことができる。キャプチャはその左カッコによって番号付けされる。例えば、パターン "(a*(.)%w(%s*))" では、 "a*(.)%w(%s*)" にマッチする部分が最初のキャプチャとして保存され (だから1番になる)、 "." にマッチする文字が2番にキャプチャされ、 "%s*" にマッチする部分が3番になる。
特殊なケースとして、空キャプチャ () は文字列の現在位置 (数値) をキャプチャする。例えば、文字列 "flaaap" にパターン "()aa()" を適用すると、 2つのキャプチャ3と5を得られる。
パターンには途中にゼロを含むことができない。代わりに %z を使う。