PHP マニュアル
前のページ |  | 次のページ

# CIII. 正規表現(regex)関数 (POSIX拡張サポート)

# 導入

> 注意: PHPは、PCRE関数によりPerl互換の構 文を使用する正規表現式もサポートします。これらの関数は、「ものぐさ」 マッチ、言明、条件付きサブパターン、そしてPOSIX拡張正規表現構文 でサポートされていない他の複数の機能をサポートします。

警告
これらの正規表現関数はバイナリセーフではありません。PCRE関数はバイナリセーフです。

PHPにおいて正規表現は複雑な文字列操作に使用されます。 次の正規表現関数がサポートされます。

- ereg()

- ereg_replace()

- eregi()

- eregi_replace()

- split()

- spliti()

これらの関数は、全て最初の引数に正規表現をとります。 PHPはPOSIX 1003.2で定義されたPOSIX拡張正規表現を使用します。 POSIX正規表現に関する詳細については、PHP配布ファイルのregexディレ クトリにあるregexのmanページを参照下さい。 このページはmanpageフォーマットであり、読むには man /usr/local/src/regex/regex.7のようにします。

# 要件

これらの関数は、標準モジュールの一部として利用可能であり、常に使用できます。

# インストール手順

PHPで正規表現のサポートを有効にするには、 --with-regex=TYPEを指定して PHPのconfigureを行って下さい。TYPEは、system, apache, phpのどれかと します。デフォルトではphpを使用します。

> 注意: 動作に関する知識がある場合以外は、TYPEを変更しないで下さい。

Windows版のPHPには この拡張モジュールのサポートが組み込まれています。これらの関数を使用 するために拡張モジュールを追加でロードする必要はありません。

# 実行用の設定

この拡張モジュールは設定ディレクティブを全く定義しません。

# リソース型

この拡張モジュールはリソース型を全く定義しません。

# 定義済みの定数

この拡張モジュールは定数を全く定義しません。

# 例

例 1. 正規表現の例

`ereg ("abc", $string);
/* "abc" が $string のどこかにある場合に true を返す */
ereg ("^abc", $string);
/* "abc" が $string の最初にある場合に true を返す */
ereg ("abc$", $string);
/* "abc"; が $string の最後にある場合に true を返す */
eregi ("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);
/* クライアントブラウザがNetscape 2, 3またはMSIE 3である場合にtrue を返す */
ereg ("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string,$regs);
/* 空白で区切られた3つ単語を
$regs[1], $regs[2],$regs[3]に代入する */
$string = ereg_replace ("^", "<br />", $string);
/* <br /> タグを $string の先頭に挿入する */
$string = ereg_replace ("$", "<br />", $string);
/* <br /> タグを $string の最後に挿入する */
$string = ereg_replace ("\n", "", $string);
/* $string の改行文字を全て取り除く */`

# 以下も参照下さい

Perl互換の構文を有する正規表現については、 PCRE関数を参照して下さい。 簡単なシェル形式のワイルドカードパターンマッチングが fnmatch()で提供されています。

前のページ | ホーム | 次のページ
rar_open | 上に戻る | ereg_replace