PHP には 2 セットの正規表現関数ライブラリがあります。 1 つのセットは、従来の NFA に基づいた PCRE (Perl 互換正規表現) ライブラリによって提供されます。 PCRE ライブラリは、Perl と同じ構文ルールを使用し、接頭辞「preg_」が付いた名前の関数を使用して正規表現パターン マッチングを実装します。もう 1 つのセットは、POSIX NFA に基づいた POSIX (ポータブル オペレーション システム インターフェイス) 拡張ライブラリによって提供されます。 POSIX 拡張正規表現は POSIX 1003.2 で定義されており、通常は「ereg_」接頭辞が付いた名前の関数を使用します。
2 つの関数ライブラリの機能は似ていますが、実行効率が若干異なります。一般に、同じ機能を実現するには、PCRE ライブラリを使用した方が効率がわずかに優れています。その使用法については以下で詳しく説明します。
関数プロトタイプ: int preg_match (string pattern, stringpattern, stringcontent [, array $matches])
preg_match () 関数は、pattern で指定された正規表現のコンテンツ文字列を検索します。一致が提供された場合は、一致した結果がそこに配置されます。一致する場合は、一致した結果をそれに入れます。 matches[0] にはパターン全体に一致するテキストが含まれ、$matches[1] には括弧で囲まれたパターン要素の最初にキャプチャされた一致が含まれます。この関数は 1 つの一致のみを実行し、最終的には 0 または 1 の一致結果の数を返します。
ereg() は、POSIX 拡張ライブラリの正規表現マッチング関数です。 eregi() は、ereg() 関数の大文字と小文字を無視するバージョンです。どちらも preg_match と同様の関数を持っていますが、この関数は一致が成功したかどうかを示すブール値を返します。 POSIX 拡張ライブラリ関数の最初のパラメータは正規表現文字列を受け入れる、つまり区切り文字は必要ないことに注意してください。
関数プロトタイプ: array preg_grep (string pattern,arraypattern,arrayinput)
preg_grep() 関数は、入力配列と、指定されたパターン パターン ユニットに一致する指定された入力配列を含む配列を返します。 Preg_grep() は、入力配列 $input 内の各要素の照合のみを実行します。リスト 6.3 の例は、preg_grep() 関数の使用法を簡単に示しています。
preg_match()関数に似ています。 3 番目のパラメーターを使用すると、一致する可能性のあるすべてのものが検索されます。この関数は、パターン全体が一致した回数 (おそらく 0) を返し、エラーが発生した場合は False を返します。
2.複数行のマッチング
POSIXでは通常のテーブル関数だけで複雑なマッチング演算を行うのは困難です。たとえば、ファイル全体 (特に複数行のテキスト) に対して一致検索を実行します。 ereg() を使用してこれを行う 1 つの方法は、別々の行で行うことです。
関数プロトタイプ: string ereg_replace (string pattern, stringpattern, stringreplacement, string $string)
String eregi_replace (string pattern, stringpattern, stringreplacement, string $string)
) in string パターンを検索検索パターン文字列 string 内の文字列パターンを検索し、一致した結果を置換に置き換えます。交換時。パターンにパターン ユニット (またはサブパターン) が含まれている場合、「1」のような形の置換中の位置、または「1」または「1」のような形の「置換中」の位置は、これらのサブパターンに一致するコンテンツに置き換えられます。パターンを順番に。
関数プロトタイプ: array split (string pattern, stringpattern, stringstring [, int $limit])
この関数は文字列配列を返します。各単位は正規表現による文字列です。正規表現による文字列です。表現パターン境界で分割された部分文字列として使用されます。制限が設定されている場合、返される配列には最大でも制限値が含まれ、返される配列には最大でも制限単位が含まれます。最後のユニットには、$string の残りの部分がすべて含まれます。 spliti は、split のサイズを無視したバージョンです。
この関数はsplit関数と同じ機能です。 '
関連する推奨事項:
Linux システムのユーザー管理と grep 正規表現の詳細な説明
以上がPHPの正規表現関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。