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

- 初心者用PHP入門 -



PHPの本
よくわかるPHPの教科書

ノンプログラマに最適。「誰にでも伝わる教え方」で、最初の一歩から実用レベルまで解説しました。「プログラミングに拒否感がある」「他の入門書で挫折したことがある」そんな方でもこの本ならスイスイ読めます。
PHPの本
PHP 逆引きレシピ

いまさら聞けない・誰も教えてくれない本当に必要な知識と技を一冊に凝縮。困ったときにすぐ引ける!実践で即役立つテクニックと開発ノウハウ、つまづきやすい・ハマりやすいポイントを徹底解説。Windows/Mac対応 PHP5.3対応。
PHPの本
PHPによるWebアプリケーションスーパーサンプル 第2版

PHPスクリプティングの決定版サンプル集が最新のPHP5に対応して登場。実用的なサンプルを自力で動かす感動を通して、PHPの使い方や実装方法が自然と身に付きます。

正規表現

 正規表現(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

スポンサー
脱ステロイドお腹が鳴る臭い対策