ホームページ > バックエンド開発 > PHPチュートリアル > PHP の正規表現ではどのような要素が一般的に使用されますか?

PHP の正規表現ではどのような要素が一般的に使用されますか?

WBOY
リリース: 2016-06-23 13:29:18
オリジナル
1070 人が閲覧しました

プログラム開発では正規表現をよく使いますが、初心者にとっては正規表現が何であるかは知っていますが、実際に正規表現を使用する必要がある場合、どのような修飾子を使用すればよいのかもわかりません。混乱する。以下に、エディターは一般的に使用されるいくつかの関数と関連要素を 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 つの正規表現を作成して実行します。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート