この記事では主に、特定の参考値を持つ PHP の正規表現を紹介します。必要な友達が参考にできるようにします
n 文字列処理関数を使用してタスクを完了できる場合は、正規表現を使用しないでください
n いくつかの複雑な操作がありますこれは正規表現でのみ実行できます
n 正規表現はパターン式とも呼ばれます
n 正規表現は、入力と一致するために特定のルールを持つパターンを使用します 文字列情報は比較、分割、検索、置換などが可能です操作。
Ø 正規表現の特徴
n 正規表現も文字列です
n 特別な意味を持つ文字列から構成される文字列
n 一定の記述規則があり、文字列パターンの一種でもあります
n はプログラミング言語として見ることができます。パターンを形成するルールに従って文字列を記述するためにいくつかの特殊文字を使用します
注: 正規表現が関数と一緒に使用されない場合、文字列は、正規表現をある関数で使うことで、正規表現の本当の役割を発揮することができます。
Ø PHP は、
Posix
拡張正規表現ereg_関数の 2 セットを提供します
perl正規表現と互換性があります で始まる関数preg_prel
の使用を推奨します互換性のある正規表現関数ライブラリ正規表現構文
式内の通常のアトム
Ø正規表現内のメタ文字
Ø正規表現のパターン修飾子
正規の区切り文字
正規表現で一般的に使用される境界文字は / です。実際、数値以外の文字とバックスラッシュ
以外の文字は正規表現の境界文字として使用できます。 注: 完全な正規表現には 2 つの境界文字があります
n1 つは文字列型の引用符境界文字です ''
nもう 1 つは正規表現の境界文字です //( 通常は
/)nを使用します全体は '//'です
正規表現のアトム
正規の英数字文字 それらはすべて原子であり、目に見えない文字のほとんども原子です。
例: nrt...これらの翻訳文字は要素です
Ø 通常の原子
d は 0 ~ 9 の数値を表します
D 意味のある文字0-9
snrt ..
sを含む空白のキャラクターを一致させることは、文字以外のキャラクターを除く
を除いて、 w は、大文字と小文字、数字、アンダースコアを除く任意の文字を表します
W は、大文字と小文字、数字、アンダースコアを除く任意の文字を表します
Ø [] 原子リスト
は、指定された文字内の原子を選択することを意味します
例:[5-9]は、を意味します5 6 7 8 9連続する文字は のように省略できます: [開始文字 -終了文字]
Ø[^]除外リスト
例: [^4 ] 4 以外の文字は
Øメタキャラクター (アトム修飾子) を使用してアトムをシミュレートできることを意味します
d [0- 9] [a-zA-Z0-9] W[ ^a-zA-Z0-9]
Ø 原子番号修飾子
は、前の原子が 0 回出現することを意味しますか? または 1
回
+ は、前の原子が 1 回以上出現することを意味します *
は、前の原子が 0 回以上出現することを意味します
Ø 原子番号変更リスト
n {m,n} は、前の原子が少なくともm回出現し、最大でn回
n {m,}出現することを意味します は前の原子を意味します 原子 は少なくとも 回出現します n {m}
は前の原子を意味しますは m 回のみ出現します Ø アナログ数量変更スマン
?
{0,1}+
{1,} *
{0,}Ø文字列境界修飾子
^
は指定された文字で始まるコンテンツを意味します$
は指定された文字で終わるコンテンツを意味します注:
^ $一
前1回後2 つの正確な変更間の内容が一貫しているかどうかを示します u 各行の先頭と末尾を一致させるために ^
と$ を使用したい場合は、シミュレーション修飾子 を使用する必要がありますm Ø | 修飾子を選択
n または Ø
() モード単位
n 優先順位を変更 n 多原子を変換 処理済みアトムとして、原子番号修飾子
n を使用して、対応する括弧内の内容をメモリ
n に一時的に保存できます アトムをシミュレートするためだけに
() を使用する場合は、アトミックを使用しますnumber 修飾子を使用すると、
?:を括弧の先頭で使用して、コンテンツの関数にアクセスし、効率を向上させることができます n 関数を使用して括弧の内容を逆参照できます Ø メタキャラクター
. (ドット) は、
n を除く任意の文字 と一致します。
Ø i 大文字と小文字を区別しない
Ø x 正規表現内の空白を無視する
Øsを使用してください。(メタキャラクター)をn
Ø Sスピードアップマッチング
Ø Uモード変更yMode
貪欲モードを変更しますプログラムはデフォルトで貪欲モードになります。正規表現で非貪欲モードを使用しながら、*?を使用できます。現時点では貪欲モードですが、U
を使用した後、プログラムは非貪欲モードに変わります。 この時点でプログラムが非貪欲モードの場合、Uを使用した後、プログラムは貪欲モードになります正規表現関数
同じパターンを返します 一致する配列セル @param1: 正規表現
@param2: 一致する配列
@param3: オプションのパラメータ
デフォルトは嘘。 trueに設定することは、パターンマッチの反対である配列ユニットを返すことを意味しますリターン値:アレイユニットを返しますpreg_match()
perform a通常の一致クエリに適していますか?
@param1: 正規表現
@param2: 一致する文字列
@param3: オプションのパラメータ、正規表現に一致するコンテンツを返します
戻り値: 成功した場合は1を返し、失敗した場合は0を返します1は一致の数を表します
Øpreg_match_all()Perform通常のマッチング クエリに適したものがいくつあるか
@param1: 正規表現
@param2: 一致する文字列
@param3: 正規表現に一致する文字列を返します表現内容
戻り値: 一致した数を返します。一致するバンドがない場合は0
Øを返します。 preg_split() 文字列を正規表現で区切ります
@param1: 正規表現式
@param2:分割する文字列
@param3:分割された配列を返す
Ø preg_replace() 正規表現置換の実行
@param1: 正規表現を見つけるため
@param2: 置換対象
@param3: 置換操作を行う場所 (配列または文字列)
戻り値: 置換された配列または文字列を返します
関連する推奨事項:以上がPhpの正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。