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

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

# 導入

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

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

正規表現は、複雑な文字列操作の際に使用されます。 PHPはPOSIX 1003.2で定義されたPOSIX拡張正規表現を使用します。 POSIX正規表現に関する詳細については、PHP配布ファイルのregexディレ クトリにあるregexのmanページを参照ください。 このページはmanpageフォーマットであり、読むには man /usr/local/src/regex/regex.7のようにします。

# 要件

外部ライブラリを必要としません。

# インストール手順

警告
動作に関する知識がある場合以外は、TYPE を変更しないでください。

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

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

# 実行時設定

設定ディレクティブは定義されていません。

# リソース型

リソース型は定義されていません。

# 定義済み定数

定数は定義されていません。

# 例

例 1. 正規表現の例

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

# 参考

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

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