正規表現~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);



ブログランキング・にほんブログ村へ  ブログランキング・にほんブログ村へ

- スポンサードリンク -