プログラムがさっぱりな人でも正規表現を理解しておこう
スパム対策や、PHPの修正などをしていると、どうしても正規表現で記述する必要が出てきます。
正規表現とは簡単に言えば「文字のパターンを表す表現」のことです。
たとえば「あ~ん、までの全ての文字」という指定をする場合
「あいうえ…」と1文字ずつ書くのは大変です。
そこで正規表現を使うと、「あ-ん」と書くだけで同じ意味を持ちます。
そうした文字のパターンを表現するのに使われるのが特殊文字である「メタ文字」です。
多くの方がつまづくのが「メタ文字」の扱いだと思います。
「メタ文字」とは具体的には
. ^ $ [ ] * + ? | ( )
などの文字です。
それぞれ
| メタ文字 | 読み方 | 意味 |
|---|---|---|
| . | ピリオド、ドット | 任意の一文字 |
| ^ | キャレット | 先頭 |
| $ | ダラー、ドルマーク | 末尾 |
| [] | スクエアブラケット開、スクエアブラケット閉 | []内のいずれか1文字 |
| * | アスタリスク | 0回以上の繰り返し |
| + | プラス | 1回以上の繰り返し |
| ? | クエスチョンマーク | 0回または1回の繰り返し |
| | | バー | OR |
| () | バーレン開、バーレン閉 | グループ |
という意味を持っています。
例えば正規表現を求められる場で「oxynotes.com」と入力するとエラーが出ます。
「任意の一文字」を表す「.(ドット)」が使われている為です。
そこで登場するのが
| メタ文字 | 読み方 | 意味 |
|---|---|---|
| ¥ | バックスラッシュ、円マーク | エスケープ |
¥の次にくる特殊文字をプレーン文字(ようはテキストデータ)として扱ってくれるメタ文字です。
つまり「oxynotes.com/hoge」を正規表現で表すには「oxynotes¥.com¥/hoge」と入力すれば問題なく動作します。
また区切りに使われる文字もエスケープする必要があります。例えば「/(スラッシュ)」です。「/から/で囲んだパターンでマッチさせる」という書式の場合URLなどスラッシュ含む文字をマッチさせるには「¥/」とする必要があります。
Googlebotを手懐ける!robots.txtの書き方とrobots.txtテスターの使い方
URLを正規化して、Googleにページの重要度を伝える方法
ロリポップ!でWebサイトのデータをzip圧縮してバックアップする方法
全く新しい決済サービスPayPal.Meの導入と使い方を解説
話題のMarkdown記法を秀丸でMonokai風にハイライト表示にする方法
知らないうちにロリポップ!にバックドアが仕掛けられていた!
HTMLやPHPのタグをWordPressで表示する方法







