PHP開発のための正規表現(1)

WBOY
WBOYオリジナル
2016-08-08 09:27:431079ブラウズ

正規表現について言えば、私は大学でコンパイルの原則を学んでいたときに遭遇しましたが、その時はあまり気にしていませんでしたが、後にアプリを作成するときに少し理解しました。は実はとても重要なポイントで、Webサイトやアプリのあちこちで使われており、以前は使うたびに既成のものをネットで探していましたが、とてもよかったです。要件を満たす正規表現を自分で作成できないのは苦痛です。以下から学習を始めてください。

1. 行ロケーター (^ と $)

行ロケーターは文字列を記述するのに便利です。 「^」は行の先頭を表し、「$」は行の末尾を表します

例: ^Jack は Jack で始まる文字列を表し、「ジャックはヒーロー」は一致しますが、「スーパーマンはジャックです」 " は一致しません

例: Jack$ は Jack で終わる文字列を表し、「The super man is Jack」は

2 と一致します。単語区切り文字 (b, B)

の代わりに完全な単語と一致させたい場合は、単語の一部の場合は、単語の区切り文字を使用する必要があります

例: bworkb は、単語 work が文字列に含まれていることを意味します。その場合、「I'm work hard!」は一致します

例: BworkB は、単語 work が含まれていないことを意味します

3. 文字クラス ([])

大文字と小文字を区別しない場合は、角かっこ表現を使用できます。 []」。一致する単語が角括弧内にある限り、一致は成功します。ただし、角括弧は 1 文字のみと一致することに注意してください。たとえば、大文字と小文字を区別しない文字列 ab を一致させたい場合、式は次のようになります。 [Aa][Bb] このようにして、ab のすべての書き方に一致させることができます

4. 文字 () を選択します。 |)

文字列 ab のマッチングを実現する別の方法があります。大文字と小文字は区別されません。つまり、選択文字 (|) が使用されます。この文字は「または」として理解でき、式は次のようになります: (A|a)(B|b)

5. ハイフン (-)

変数の命名規則は文字とアンダースコアのみで始めることができます。ただし、この方法では、正規表現を使用して変数名の最初の文字と一致させたい場合は、[a,b,c,d...A,B,C,D... のように記述する必要があります。 ] これは間違いなく非常に面倒です。はい、正規表現はこの問題を解決するためにハイフン "-" を提供します。ハイフンは文字の範囲を表すことができます。たとえば、上記の例は [a-zA-Z]

6 と書くことができます。除外文字 ([^])

'^' は行の先頭を表し、この文字を角括弧で囲むと除外を意味します。 例: [^a-zA-Z] この式は、文字またはアンダースコアで始まらない変数名に一致します。

7. 修飾子 (? * + {n,m})

繰り返される文字または文字列の場合、修飾子を使用して一致を実現できます。次の表に示すように、修飾子には主に 6 つのタイプがあります:


8. ドット文字 (.)

ドット文字 (.) は、改行文字を除く任意の文字と一致します。 注: 改行文字以外の任意の文字

a で始まり b で終わり、間に 1 文字が含まれる単語と一致する場合。その形式は次のようになります: ^a.b$

9. エスケープ文字 ()

正規表現のエスケープ文字は、php のエスケープ文字と似ています。これらは特殊文字 (「.」「?」「」など) です。 ") を通常の文字に変換します。 IP アドレス 127.0.0.1 を例に挙げます。この形式でエスケープ文字が使用されない場合、正規表現の式結果は次のようになります。[1-9]{1,3}(.[1-9]{ 1,3}) {3} しかし、「.」は 127.0.0.1 のような文字と一致する可能性があるため、これは明らかに間違っています。今回はエスケープ文字を送信しますので、参考にしてください。 エスケープ文字を使用した正規表現は次のとおりです。 [1-9]{1,3}(.[1-9]{1,3}){3}

10. バックスラッシュ()

(1) バックスラッシュは一部の印刷できない文字を変換できます。次のように表示されます。次の表:


(2) バックスラッシュは、次の表に示すように、事前定義された文字セットを指定することもできます:


(3) バックスラッシュは、次の表に示すようにアサーションを定義することもできます。


11. 後方参照

後方参照とは、部分式の「メモリ」機能を使用して、連続する文字列または文字と一致することです。

例: 2 つの連続する ab を一致させたい場合は、ab をグループとして使用し、最後に「1」を追加します。 次のように: (ab)1

一致させる文字列が固定されていない場合は、括弧内の文字列を正規表現として記述することができます。複数のグループがある場合は、各グループを表すために「1」、「2」を使用できます(順序は左から)。右)

例: ([a-z])(A-Z)12

数字を使用してグループを表すことに加えて、次のようにグループ名を自分で指定することもできます:

(?P... )

If このグループを参照するには、構文は次のとおりです:

(?P = subname)

式 ([a-z])(A-Z) を書き直してください。12. これら 2 つのグループにそれぞれ名前を付けて、後方参照します。正規表現 式は次のとおりです:

(?P[a-z])(?P[A-Z])(?P=fir)(?P=sec)

理論的な知識を一緒に学びましょうここでは、その他の操作については、PHP 開発のための正規表現 (2) で共有します

以上、PHP 開発における正規表現 (1) を内容も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。