ホームページ  >  記事  >  バックエンド開発  >  PHP 正規表現 /i、/is、/s、/isU など、正規表現 isu_PHP チュートリアル

PHP 正規表現 /i、/is、/s、/isU など、正規表現 isu_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:16:531953ブラウズ

PHP正規表現/i、/is、/s、/isUなど、正規表現isu

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

大文字と小文字は区別されません

パターンのドット メタキャラクター (.) は、改行を含むすべての文字に一致します

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

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

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

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

X (PCRE_EXTRA) この修飾子は、Perl と互換性のない PCRE の追加機能を有効にします。パターン内のバックスラッシュの後に特別な意味のない文字が続くとエラーが発生するため、この組み合わせは将来の拡張のために保存されます。デフォルトでは、Perl と同様に、バックスラッシュの後に特別な意味を持たない文字が続くと、その文字自体として扱われます。現在、この修飾子によって制御される他の特性はありません。つまり、貪欲モード、次のような最大一致です: /a[w]+?e/U は、abce ではなく abceadeddd の abceade と一致します。U 修正が追加されない場合、abce u (PCRE_UTF8) と一致します。この修飾子は、PCRE Extra 機能を有効にします。それは Perl と互換性がありません。パターン文字列は UTF-8 として扱われます。この修飾子は、Unix では PHP 4.1.0 以降、win32 では PHP 4.2.3 以降で使用できます。

phpの通常のマッチング/href=\'([\S\s]*)\'/isU

preg_match("/href=\'([\S\s]*)\'/", $str, $match);echo $match[1] //これは括弧内の一致です

;

PHP 正規表現の問題: /<[^>]*?>*?<\/>/si これはすべてのスクリプトをフィルタリングする式です。詳しく説明していただけますか。

非貪欲一致を示すには「?」を追加します...


パラメータ「i」は大文字と小文字が無視されることを示します

パラメータ「s」は正規表現内の「.」が改行に一致することを示します

http://www.bkjia.com/PHPjc/896038.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/896038.html技術記事 PHP 正規表現 /i、/is、/s、/isU など、正規表現 isu PHP 正規表現 /i、/is、/s、/isU などとは何ですか? i は s パターンの大文字と小文字を区別しないドット メタキャラクターです (...
)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。