ホームページ  >  記事  >  バックエンド開発  >  PHP 正規表現を使用する際の一般的なヒント_PHP チュートリアル

PHP 正規表現を使用する際の一般的なヒント_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:40:09862ブラウズ

PHP 正規表現の定義:
文字の配置とパターンの一致を記述するために使用される文法規則。これは主に、文字列のパターン分割、マッチング、検索、置換操作に使用されます。
PHP 正規表現は主に、文字列のパターン分割、一致、検索、置換操作に使用されます。一部の単純な環境では正規表現の使用が効率的でない場合があるため、PHP 正規表現をより効果的に使用する方法を包括的に検討する必要があります。

PHP の正規関数:
PHP には 2 セットの正規関数があります。これらの 2 つの正規関数には類似した機能があります。
1 つのセットは PCRE (Perl 互換正規表現) ライブラリによって提供されます。接頭辞「preg_」が付いた名前の関数
POSIX (Portable Operating System Interface of Unix) 拡張機能によって提供される関数のセット。接頭辞「ereg_」が付いた名前の関数を使用してください (POSIX 正規関数ライブラリは PHP 5.3 以降使用が推奨されなくなり、PHP 6 から削除されます)

POSIX 正規関数は歴史的な段階で開始されようとしているため、 PCRE これは perl の形式に似ており、perl と php を切り替えるのに便利であるため、ここでは PCRE の規則性の使用に焦点を当てます。

PCRE正規表現
PCREとはPerl Compare Regular Expressionの略で、Perl互換の正規表現という意味です。

PCRE では、パターン式 (つまり、正規表現) は通常、「/apple/」のように 2 つのバックスラッシュ「/」で囲まれます。

正規表現の重要な概念は、メタキャラクター、エスケープ、パターン単位 (繰り返し)、反意語、参照、およびアサーションです。これらの概念は、記事 [1] で簡単に理解して習得できます。 (メタ文字:









アトミック

文字列 string のアトミック アトム is /is / の文字列 is / is / で終わる文字列と一致します

B を除く任意の文字と一致します単語の境界 /Bis/ 単語「This」の「is」に一致します

d [0-9] に相当する数字に一致します

D 数字以外の任意の文字に一致します

w に一致します英語の文字、数字、またはアンダースコア。[0 -9a-zA-Z_]

W に相当します。英語の文字、数字、アンダースコアを除く任意の文字に一致します。[^0-9a-zA-Z_]

s に相当します。空白文字、[f v ]

S と同等、空白文字を除く任意の文字と一致、[^f v]

と同等、x0c または cL

と同等の改行文字と一致、x0a または cJ

と同等、 x0d または cM

に相当するキャリッジ リターン文字に一致します。 x09 または cl

v に相当します。 x0b または ck

oNN に相当します。 8 進数に一致します。 xNN 16 進数に一致します。

cC 制御文字と一致します

パターン修飾子:

パターン修飾子は、特に大文字と小文字を無視して複数の行を一致させる場合に使用され、この修飾子をマスターすると、遭遇する問題の多くが解決されます。

i - 大文字と小文字の両方に一致します

M - 文字列を複数行として扱います

S - 文字列を単一行として扱い、改行を通常の文字として扱い、「.」は任意の文字と一致します

X - パターン内の空白は無視されます

U - 最も近い文字列と一致します

e - 置換された文字列を式として使用します

形式: /apple/i は、「apple」または「Apple」などを無視して一致します場合。 /i

PCRE パターン単位:

//1 最初の属性を抽出します

/^d{2} ([W])d{2}1d{4}$ は "12-31-2006" 、 "09 と一致します/27/1996」、「86 01 4321」などの文字列。しかし、上記の正規表現は「12/34-5678」の形式と一致しません。これは、パターン「[W]」の結果「/」がすでに格納されているためです。次の位置「1」が を参照する場合、一致するパターンも文字「/」です。

マッチング結果を保存する必要がない場合は、非保存パターン単位「(?:)」を使用してください

例えば /(?:a|b|c)(D|E|F)1g/ がマッチします「aEEg」。一部の正規表現では、非ストレージ モード単位を使用する必要があります。それ以外の場合は、後続の参照の順序を変更する必要があります。上記の例は、/(a|b|c) (C|E|F)2g/ と書くこともできます。

PCRE正規表現関数:

以下は引用内容です:
1. preg_match() と preg_match_all()
2. preg_quote()
3. preg_split()
4. preg_grep()
5. preg_ replace( )

関数の具体的な使用法については、PHP マニュアルを参照してください。ここでは、私たちが蓄積した正規表現をいくつか紹介します。

アクション属性の一致

以下、引用内容です

  1. $str = $match =
  2. ; preg_match_all(/秒アクション= (?!http:)(.*?)"s/,
  3. $str, $match); print_r( $ match) );

  4. 正規表現でコールバック関数を使用する

    以下、引用内容です

    1. /**
    2. * 一部の文字列をコールバック関数で置き換えます
    3. *
    4.    */
    5. function callback_replace() { ️
    6. $str
    7. = $str
    8. ; /(?<=saction=")(?! http:)(.*?)(?=s)/e , search($url, 1),
    9. $str
    10. ); エコー$str } 検索(
    11. http://www.bkjia.com/PHPjc/486237.html
    12. www.bkjia.com
    13. tru​​e
    14. http://www.bkjia.com/PHPjc/486237.html技術記事 PHP 正規表現の定義: 文字の配置と一致パターンを記述するために使用される文法規則。これは主に、文字列のパターン分割、マッチング、検索、置換操作に使用されます。 PHP 正規表現...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。