この記事では、PHP で一般的に使用される正規のマッチング関数の違いを紹介します。これらには、主に str_replace、str_ireplace、substr_replace、preg_replace、preg_match、preg_match_all、preg_quote、preg_split、ereg_replace、eregi_replace、preg_replace、str_split が含まれます。式はありますが、関連する正規関数との関係があいまいなため、参照しやすいように比較のためにまとめています。
名前 | 正規表現をサポート | 特徴 | 備考 |
str_replace | X | 文字列置換関数、大文字と小文字を区別する | |
str_ireplace | X | 文字列置換関数、大文字と小文字を区別せず、配列のバッチ置換をサポート | 追加するよう思い出させてくれたネチズン フランシスに感謝します |
substr_replace | X | 部分置換文字列関数、位置インデックスを指定可能 | |
preg_replace | よ | 置換のための一致パターンを指定し、部分文字列参照をサポートします | 優先利用 |
ereg_replace | よ | 置換用の一致パターンを指定し、大文字と小文字を区別し、部分文字列参照をサポートします | |
eregi_replace | よ | 置換用の一致パターンを指定し、大文字と小文字を区別せず、部分文字列参照をサポートします | |
エレグ | よ | 指定されたパターンの全文一致。一致を判断するために使用することも、一致する配列を返すために使用することもできます | |
preg_match | よ | 一度終了するパターンマッチングを指定して、一致するかどうかを判断するか、返された一致配列を使用します | 優先利用 |
preg_match_all | よ | パターンの全文一致を指定します。通常は、返された一致配列を使用するために使用されます | 優先利用 |
preg_split | よ | マッチング モードで通常の分割を指定します。可能な場合は、explode または str_split を使用することをお勧めします。 | |
X | 文字列を分割する長さを指定します。デフォルトでは、単一の文字が配列に分割されます。 | ||
X | 文字列を分割するために 1 つまたは複数の文字を指定でき、成功すると配列が返されます。たとえば、12345 を 34 で分割すると、12 と 5 が返されます。 | ||
preg_quote | |||
正規表現文字をエスケープします。これは、特殊文字にバックスラッシュを追加することを意味します。 | |||
補足: 1. PHP には 2 つの正規表現関数ライブラリがあり、これらの関数は非常に似ています: 1 つのセットは POSIX (Unix のポータブル オペレーティング システム インターフェイス) ライブラリによって提供され、関数の名前には ereg_ が付けられます。 POSIX 通常関数ライブラリの使用は推奨されなくなりました。 1 つのセットは PCRE (Perl 互換正規表現) ライブラリによって提供されており、関数には preg_ という接頭辞が付けられています。最初にこれらを使用することをお勧めします。 PCRE では、パターン式 (正規表現) は通常、「/^w $/」スタイルのように 2 つのバックスラッシュ「/」で囲まれます。 2. PHP 正規表現関数: 一致抽出、一致置換 |