正規表現について言えば、私は大学でコンパイルの原則を学んでいたときに遭遇しましたが、その時はあまり気にしていませんでしたが、後にアプリを作成するときに少し理解しました。は実はとても重要なポイントで、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
理論的な知識を一緒に学びましょうここでは、その他の操作については、PHP 開発のための正規表現 (2) で共有します
以上、PHP 開発における正規表現 (1) を内容も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。