プログラム開発では正規表現をよく使いますが、初心者にとっては正規表現が何であるかは知っていますが、実際に正規表現を使用する必要がある場合、どのような修飾子を使用すればよいのかもわかりません。混乱する。以下に、エディターは一般的に使用されるいくつかの関数と関連要素を PHP 正規表現でまとめました。
1. PHP の通常関数
PHP プログラミングでは、一般的に使用される 2 つの主要な通常関数があります: a.preg_match と b.ereg 正規関数です。
a.preg_match は Perl 言語で書かれています。
構文: preg_match(mode, string subject, arraymatches)
説明: モードパラメータ----通常のモジュール、つまり正規表現(文法)
サブジェクトパラメータ----通常のコンテンツ
パラメータに一致- --- 通常の結果 (配列の形式を取得)
b.ereg POSIX (Unix、Script) に基づく通常の関数
構文: ereg(mode, string subject, array regs)
2 . 正規表現内の要素
a. アトム (通常の文字: a-z A-Z 0-9、アトム テーブル、エスケープ文字)
b. メタ文字 (#、* など)
c. パターン修飾子(システムの組み込み文字の一部、i、m、S、U...)
3. 正規表現の「アトム」
a.a-z A-Z _ 0-9 //最も一般的な文字
b.(abc)(skd) //括弧で囲まれた単位記号(全体)
c.[abcs][^abd] //アトミックテーブル内の角括弧で囲まれたアトムテーブル ^ は除外または反対の内容を表します
d. エスケープ文字
d にはすべての数字 [0-9] が含まれます
D にはすべての数字 [^0-9] が含まれます
w にはすべての英語文字が含まれます [a-z A-Z 0 -9]
W すべての英語文字は含まれません [ ^a-z A-Z 0-9]
のキャリッジ リターン、ライン フィードなど
...
注: 角括弧がサブセットである限り、括弧は一致する必要があります。 (コンテンツが存在します)
4. 正規表現のメタ文字
* 前のコンテンツの 0 回 1 回以上一致します
。ただし、改行と行は含まれません。フィード (それ自体、任意のコンテンツを参照)
+ は前のコンテンツと 1 回以上一致します
? 前のコンテンツと 0 回または 1 回一致します
| 選択一致は PHP の | に似ています (この演算子は弱い型であり、単語の一致と同様に、前方で最も全体的な一致が得られます)
^文字列の最初の内容と一致します
$ 文字列の末尾の内容と一致します
b 単語の境界と一致します。境界にはスペースまたは特殊文字 (スペースと同様の単語区切り文字を使用できます)
B を除く予期しない内容と一致します単語の境界 (単語の区切り文字なし)
{m} 一致 前のコンテンツの繰り返し回数が M 回
{m,} 前のコンテンツの繰り返し回数が M 回以上と一致
{m ,n} 前のコンテンツの繰り返し回数を M 回から N 回に一致させます
( ) Merge 全体を一致させてメモリに入れます \1 \2... を使用して順番に取得できます。
5. 操作順序
左→右の順に操作ルールに従います
優先順位:
( ) 括弧内はメモリ内で処理されるため最上位です
*? + { } 2番目に一致する内容を繰り返します
^ $ b 3番目の境界処理
4番目の条件処理
最後に、演算の順序に従って一致を計算します
6. パターン修飾子
パターン修飾子は PHP です正規表現 正規表現の外で使用される、数式の拡張と補足の関数。例: / 正規表現 / U
よく使用される修飾子:
i 通常のコンテンツは、照合時に大文字と小文字が区別されません (デフォルトでは大文字と小文字が区別されます) )
m in 最初または最後のコンテンツを一致させる場合、複数行の認識一致が使用されます
s 一致する場合は、エスケープ改行をキャンセルします
x 正規表現内の空白を無視します
。A 先頭から強制一致
D 強制 $ 一致の最後には内容がありません。 n
U は貪欲な一致を禁止し、最も近い一致文字と終了のみを追跡します 収集プログラムで一般的に使用される正規表現。 7. マッチング関数
preg_match_all すべてのマッチング関数
構文: preg_match_all ( string pattern, string subject, arraymatches [, int flags] )
説明: $matches[0] がすべてのパターンの番号になるように結果を並べ替えます一致
目的: より詳細なコンテンツを傍受し、Web ページを収集し、テキストを分析します
8. 置換関数
preg_replace 通常の置換関数
構文: preg_replace ( 混合パターン、混合置換、混合主語 [, int 制限] )
説明: 正規表現を使用して関連するコンテンツを置換します。str_replace 文字列置換の前に学んだことと似ていますが、関数はそれよりも強力です
ヒント: 1. 置換コンテンツには正規表現または配列正規表現を使用できます
2. 置換コンテンツは、修飾子 e を使用して実行コンテンツを置換することで解決できます
用法: replace より複雑なコンテンツの場合は、コンテンツ変換にも使用できます
9. Split 関数
preg_split 通常の切り取り
構文: preg_split ( string pattern, string subject [, int limit [, int flags]] )
説明: 正規表現を使用して、関連するコンテンツを切り取ります。エクスプロージョンカット機能を使ったことがあるのですが、エクスプロージョンは一方向にしかカットできないという制限があります。
上記は、PHP で正規表現を開発するための一般的な関数、要素、および関連する使用方法です。まだよくわからない場合は、これらを使用してみてください。上で紹介したように、1 つまたは 2 つの正規表現を作成して実行します。