以下の関数で使用されるパターンに関する構文は、Perl に非常によく似て います。式は、デリミタ、例えばスラッシュ (/) で囲まれる必要があり ます。英数字またはバックスラッシュ(\)以外の全ての文字をデリミタと して使用可能です。デリミタ文字を正規表現本体において使用する必要が ある場合は、バックスラッシュでエスケープする必要があります。PHP 4.0.4以降、パターン指定用に Perl形式の (), {}, [], も 使用可能です。 マッチングに影響を与える様々な修飾子を終端デリミタの後に付ける ことができます。 パターン修飾子 を参照下さい。 PHPは、 POSIX拡張正規表現関数 を用 いてPOSIX拡張構文を用いる正規表現もサポートしています。 正規表現は、Philip Hazelで書かれ、the University of Cambridge, Englandに著作権があるオープンソースソフトウエアのPCREライブラリパッ ケージでサポートされます。PCREは、 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ で取得可能です。 PHP 4.0.2以降、以下の関数はデフォルトで有効となっています。 --without-pcre-regex でPCRE関数を無 効にすることができます。これ以前のバージョンでは、この関数を使用する ために --with-pcre-regex[=DIR] を指 定してPHPをconfigureおよびコンパイルする必要があります。 Windows版の PHP にはこの拡張モジュールのサポートが組み込まれています。これらの関数を使用するために拡張モジュールを追加でロードする必要はありません。 この拡張モジュールは設定ディレクティブを全く 定義しません。 この拡張モジュールはリソース型を全く定義し ません。 これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。 表 1PREG定数 例 1有効なパターンの例 / \/\w+ / |(\d{3})-\d+|Sm /^(?i)php[34]/ {^\s+(\s+)?$} 例 2無効なパターンの例 /href='(.*)' - 終端デリミタが抜けている /\w+\s*\w+/J - 未知の修飾子 'J' 1-\d3-\d3-\d4| - 始端デリミタが抜けている