正規表現~Perl編~
PHPではPerlの正規表現をサポートしており、
preg_matchやpreg_replace関数などで利用できます。
正規表現とは文字列のパターンを表す記号などの羅列です。
これにより、あるパターンに合致する文字列を検索・置換することが可能です。
非常に便利なものなので必ず覚えましょう!
メタキャラクター一覧
\ 直後のメタキャラクターを文字として扱います
^ 行の先頭にマッチします
. 任意のキャラクター(改行を除く)にマッチします
$ 行の終端(もしくは行末の改行の直前)にマッチします
| 選択
() グループ化をします
[] 文字の集合を表します
以下は直前の文字や集合に対して適用されます
* ゼロ回以上の繰り返しにマッチします
+ 一回以上の繰り返しにマッチします
? ゼロ回もしくは一回の繰り返しにマッチします
{n} n回の繰り返しにマッチします
{n,} 少なくともn回ある繰り返しにマッチします
{n,m} n回からm回の間の繰り返しにマッチします
以下のような文字を表す表現が使えます
\w キャラクタ(アルファベット、数字、“_”)にマッチします
\W キャラクタでないものにマッチします
\s 空白(whitespace)キャラクタにマッチします
\S 非空白キャラクタにマッチします
\d 数字にマッチします
\D 非数字にマッチします
上記を参考に以下に例を示しましょう。
例:自動リンクスクリプト
$buffer中にURLがマッチしたらリンクをはります。
$buffer = preg_replace("!(https?|ftp)(://[\w\+\$\;\?\.%,\!#~*/:@&=_-]+)!","<a href="\\1\\2" target="_blank\" >\\1\\2</a>",$buffer);


- スポンサードリンク -