初心者用PHP入門へようこそ 当HPは初心者のためにPHPを解説しています。

- 初心者用PHP入門 -


ApacheやIISなどの主要なWebサーバ上で動作するサーバサイドスクリプト実行環境であるPHPについて、基本構文やオブジェクト指向構文、関数などを解説。例題や練習問題も付す。PHPバージョン5.1に対応。
PHPスクリプティングの決定版サンプル集が最新のPHP5に対応して登場。実用的なサンプルを自力で動かす感動を通して、PHPの使い方や実装方法が自然と身に付きます。付録CD-ROMにはWebサーバなど関連ツールもすべて収録。

正規表現

 正規表現(regular expression)とは、文字列の集合を一つの文字列で表現するための表記法です。 PHPは、Perl互換正規表現とPOSIX拡張正規表現をサポートしてます。 当HPではPOSIX拡張正規表現の説明をします。

正規表現で定めたパターンと検索対象文字列が一致することをマッチングといいます。

先頭のマッチング 「 ^ 」
対象文字列: php script
マッチング: ^php
アンマッチ: ^hp

末尾のマッチング 「 $ 」
対象文字列: php script
マッチング: script$
アンマッチ: scri$

複数文字から1文字のマッチング 「 [ABC] 」
[ABC] → 「ABCのうちどれか1文字」

同種類の文字から1文字のマッチング 「 [A-Z] 」
[A-Z] 「大文字AからZのうちどれか1文字」
[a-z] 「小文字aからzのうちどれか1文字」
[0-9] 「数字のうちどれか1文字」
[A-Zj] 「大文字AからZとjのうちどれか1文字」
[a-c0-3] 「aからc、0から3のうちどれか1文字」

否定表現 []内の「 ^ 」
[^A-Za-z] → 「アルファベット以外の1文字」
[^A-Zabc] → 「大文字アルファベットとa、b、c以外の1文字」

任意の1文字「 . 」
対象文字列: abcdefg
^a.....g$ : マッチング

繰り返し表現
* 「0回以上」
+ 「1回以上」
? 「0回か1回」
{n} 「n回」
{n,} 「n回以上」
{n,m} 「n〜m回以上」

PHPではマッチングに ereg 関数を利用します。

int ereg ( 正規表現パターン , 文字列 [, 結果 ] )

文字列を正規表現パターンによりマッチし、 マッチした場合はマッチした文字列の長さを返し、 マッチしなかった場合は FALSE を返します。 結果にはマッチした文字列を格納する配列を指定します。 配列の0番目にはマッチした要素全体のコピーを保持し、 配列の1番目からは正規表現内の括弧で囲まれた部分でマッチしたものが、 順に格納されます。

以下にereg関数の使用例を示します。 正規表現パターンは小文字のアルファベット6文字です。 文字列が正規表現パターンにマッチングした場合、 その結果を出力しています。
また、大文字・小文字の区別を行わない eregi 関数があります。

<html> <head><title></title></head> <body> <?php $moji = "test script"; if(ereg("[a-z]{6}", $moji, $result)){     print_r($result); } ?> </body> </html>

実行結果: Array ( [0] => script )

ereg関数の他に、 正規表現による置換を行うereg_replace関数や、分割を行うsplit関数があります。



[戻る]  [TOP]  [次へ]


This website is link free.
All graphics and page design, Copyright © 初心者用PHP入門
since 2005.12.10

スポンサー
脱ステロイドダイエットホテル/