PHP 正規表現でエスケープする必要がある文字は次のとおりです:
$^*()+={}[]|/:<>.?'"
注: Perl スタイルの式は、/ で始まり / で終わる必要があります。たとえば、/food/ は food という文字と一致します
Perl 修飾子は次のとおりです:
i 大文字と小文字を区別しない検索を完了します
g すべての出現箇所を検索 (完全なグローバル検索)
mは文字列を複数行として扱います(mは複数の意味です)。デフォルトでは、^ 文字と $ 文字は文字列の先頭と末尾に一致します。 m 修飾子を使用すると、^ と $ が文字列の各行の先頭に一致します
s 文字列をすべての改行を無視して行として扱います。これは m 修飾子の反対です。
x php正規表現の空白とコメントを無視しますU 最初の試合が終わったらストップ。デフォルトでは、最後に一致した文字の結果が検索されます。最初の一致の後に停止するには、この修飾子を使用します。そして、ループマッチングを形成します。
メタキャラクターの説明:
Perl 正規表現でできるもう 1 つの便利な方法は、さまざまなメタ文字を使用して一致を検索することです。メタキャラクターは、特殊な意味を表すバックスラッシュが前に付いたアルファベット文字です。以下にいくつかの便利なメタ文字を示します。
Aは文字列の先頭のみに一致します
b は単語の境界に一致します
B は単語境界外の任意の文字に一致します
dは数字に一致し、[0-9]と同じです
D PHP の通常の非数値文字の一致
s は空白文字と一致します
空白以外の文字に一致する PHP の通常の文字
[] は、[0-9] [a-z] [a-zA-Z] などの文字クラスを囲みます。
()は文字グループを囲むか、後方参照を定義します
$は行末と一致します
^行頭と一致させる
* 前の部分式と 0 回以上一致します。 * 文字と一致するには、*
を使用します
+ 前の部分式と 1 回以上一致します。 + 文字と一致させるには、+を使用します。
? 先行する部分式に 0 回または 1 回一致するか、貪欲でない修飾子を指定します ?改行を除く任意の文字と一致します
次のメタキャラクターを紹介します
wはアンダースコアと英数字のみを含む文字列に一致し、[a-zA-Z0-9_]と同じです
W PHP アンダースコアと英数字を含まない通常の一致文字列
Perl スタイルの関数は次のとおりです:
配列 preg_grep(文字列パターン, 配列入力 [, フラグ])
配列内のすべての要素を検索し、特定のパターンに一致するすべての要素で構成される配列を返します
PHP 4.3 では、値 PREG_GREP_INVERT を受け入れるオプションのパラメーター フラグが追加されています。このフラグを渡すと、パターンに一致しないデータ要素が取得されます。
int preg_match(string pattern, string string [, array match [, int flags [, int offset]]])
文字列内のパターンを検索し、存在する場合は TRUE を返し、存在しない場合は FALSE を返します。
オプションの入力パラメータの一致には、検索パターンに含まれるサブパターンのさまざまな部分を含めることができます。デフォルトでは、一致した文字列が () サブ文字で囲まれた場合、配列の後に出力されます。
int preg_match_all(string pattern, string string, array pattern_array [, int order])
関数preg_matchと同じですが、preg_matchは一度だけ検索するのに対し、preg_match_allはループ検索を実行して一致する結果をすべて返します。
mixed preg_replace(mixed pattern,mixed replace,mixed str [, int limit])
出現したパターンをすべてreplacementに置き換え、変更した結果を返します。
オプションの制限は、一致が発生する数を指定します。制限を設定しないか、-1 に設定すると、すべての出現箇所が置き換えられます。
上記はよく使われる関数ですが、preg_quote、preg_replace_callbak、preg_splitなどの詳しい説明もあります。 。 。 のような food Perl 修飾子の文字と一致します。