PHPの正規表現

PHPにおける正規表現の実装について

PHPにおける正規表現関数は2つの系統があります。

  • POSIX版
  • PERL互換版

PHP 5.3.0 以降、 POSIX版は非推奨となりました。代わりにPERL版(PCRE拡張モジュール)を使うことが推奨されています。

POSIX版

POSIX(Portable Operating System Interface for UNIX)とは、各社のUNIX互換OSにはそれぞれ独自の拡張や仕様の変更が施され、互換性が失われてしまったため、各OS間で最低限の互換性を確保するために定義されたUNIXベースのOSが備えるべき最低限の仕様のセットのことです。

  • ereg(検索)
  • ereg_replace(置換)
  • split(分解)
  • sql_regcase(大文字小文字を区別しないマッチングのための正規表現を作成する)

ereg(),ereg_replace(),split()それぞれに、関数名の後ろに「i」を付加した、大文字小文字を区別しないバージョンの関数があります。

大文字小文字を区別できる関数がサポートされていない処理系のために、指定した文字列を大文字小文字区別ありでマッチさせるための文字列を生成する”sql_regcase()”という関数があります。

正規表現(POSIX拡張)

PEAL互換版(PCRE)

  • preg_filter — 正規表現による検索と置換を行う
  • preg_grep — パターンにマッチする配列の要素を返す
  • preg_last_error — 直近の PCRE 正規表現処理のエラーコードを返す
  • preg_match_all — 繰り返し正規表現検索を行う
  • preg_match — 正規表現によるマッチングを行う
  • preg_quote — 正規表現文字をクオートする
  • preg_replace_callback — 正規表現検索を行い、コールバック関数を使用して置換を行う
  • preg_replace — 正規表現検索および置換を行う
  • preg_split — 正規表現で文字列を分割する

正規表現(PERL互換)

 

更に詳しく

正規表現についての詳細は、「正規表現入門」をご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です