PHPの通常形式修飾子

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 13:20:461007ブラウズ

php の通常のパターン修飾子

PHP 正規表現 /i、/is、/s、/isU など。 彼らは何ですか?

1. 正規表現の操作順序
( ) 括弧はメモリ内で処理されるため最上位になります
*? + { } の後に一致するコンテンツを繰り返します
^ $ b 境界処理 3 番目
条件処理 4 番目
最後に、操作の順序に従ってマッチングが計算されます
2. 正規表現パターン修飾子
i 通常のコンテンツは照合時に大文字と小文字が区別されません (デフォルトでは大文字と小文字が区別されます)
m は、最初または最後のコンテンツを照合するときに複数行の識別照合を使用します
S は、 と一致する場合など、単一行のマッチングのエスケープ キャリッジ リターンをキャンセルします。
x は正規表現内の空白を無視します
A は最初から一致を強制します
D は $ を最後に何も一致させません n
U は、最も近い一致文字だけを追跡して終了する貪欲なマッチングを禁止します。
収集プログラムで一般的に使用される正規表現
i は大文字と小文字が一致します

パターン内のドット メタ文字 (.) は、改行文字 を含むすべての文字と一致します。

x パターン内の空白文字は、エスケープされた文字または文字クラス内の空白文字を除き、完全に無視されます。また、# とエスケープされていない文字クラス外の次の改行文字との間のすべての文字も無視されます。

A (PCRE_ANCHORED) この修飾子が設定されている場合、パターンは強制的に「アンカー」されます。つまり、ターゲット文字列の先頭からのみ一致するように強制されます。つまり、パターンの先頭に ^ が自動的に追加されます。

D (PCRE_DOLLAR_ENDONLY) この修飾子が設定されている場合、パターン内のドルのメタ文字はターゲット文字列の末尾のみと一致します。このオプションを使用しない場合、最後の文字が改行文字の場合、ドル記号はこの文字の前でも一致します (ただし、他の改行文字の前では一致しません)。設定されている場合 m 修飾子の場合、このオプションは無視されます。 Perl には同等の修飾子はありません。 S パターンが複数回使用される場合は、マッチングを高速化するために最初にパターンを分析する価値があります。この修飾子が設定されている場合、追加の分析が実行されます。現在、パターンは単一の固定開始文字を持たないパターンについてのみ分析されます。 非アンカーモードで役立ちます。

U (PCRE_UNGREEDY) この修飾子は一致カウントの値を反転してデフォルトでは繰り返されないようにしますが、後に「?」を付けると繰り返されるようになります。これは Perl と互換性がありません。モード(?U)でも設定できます このオプションを有効にする修飾子。

X (PCRE_EXTRA) この修飾子は、次の PCRE を有効にします。 Perl と互換性のない追加機能。パターン内のバックスラッシュの後に特別な意味のない文字が続くとエラーが発生するため、この組み合わせは将来の拡張のために保存されます。デフォルトでは、Perl 同様に、バックスラッシュの後に特別な意味を持たない文字が続くと、その文字自体として扱われます。現在、この修飾子によって制御される他の特性はありません。つまり、貪欲モード、最も 最大一致例: /a[w]+?e/U は、abce ではなく abceadeddd の abceade と一致します。U 補正が追加されていない場合は、abce u と一致します。 (PCRE_UTF8) この修飾子は、Perl と互換性のない PCRE の追加機能を有効にします。パターン文字列は UTF-8 として扱われます。この修飾子は Unix の PHP で使用されます。 4.1.0 以降、PHP 4.2.3 以降の win32 で利用可能です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。