http://www.scollabo.com/banban/ という URI を分解すると、http:// -------- プロトコルスキーマscollabo.com --- ドメイン名banban --------- ディレクトリ名^http://.+/$
^ は文字列の先頭を表わす 「メタ文字」を意味し 、$ は文字列の末尾を表わす 「メタ文字」 です。http:// は文字列の並びそのものを示しています。." のような記号を 「任意の1文字」という特別な意味を持ちます。+ は、直前に記述された正規表現が1回以上連続するという意味を持ちます。つまり、.+ とは、任意の1文字の1回以上の連続というパターンが成立します。ここでは、scollabo、com、banban などのアルファベット文字がドットで区切られ連続しているという構造をもちます。| メタ文字 | 意味 |
|---|---|
| ^ | 文字列の先頭をあらわすが、 [ の次に来る場合や [ ] の中は除く |
| $ | 文字列の末尾を表わす |
| + | 1回以上の連続する文字 |
| * | 0回以上の連続する文字 |
| ? | 0回、または1回だけの文字 |
| {n} | n回以上の連続する文字 |
| {n,m} | n回から m回まで連続する文字 |
| {.m} | 0回から m回まで連続する文字 |
| [ ] | [ ]内のいずれかの1文字 |
| . | 任意の1文字 (ただし改行文字を除く) |
| | | OR |
| () | 本文を参照する文字 |
| \ | エスケープ文字 (この記号の後の特殊文字をそのまま出力する) |
| \n | 改行文字 |
URI を更に絞り込んだパターンを作成すると、^http://[a-z]+(\.[c-o]+)+/[a-n]+$
http:// 以降の最初の文字列が a 〜 z の間の小文字アルファベットで、次がカンマを含んだ c 〜 o までの小文字アルファベット、最後はスラッシュの後に a 〜 n までの小文字アルファベットであることが分かります。[a-z] のようなパターンを 「文字クラス」 と呼び、大文字や小文字、数字などを利用することができます。a-z -------- lower 小文字の半角英文字A-Z -------- upper 大文字の半角英文字0-9 -------- digit 数字A-Za-z ----- alpah 大文字と小文字の半角英文字A-Za-z0-9--- alnum 数字と大文字と小文字の半角英文字