キャラクタークラスターとは何ですか?
インターネットプログラムでは、通常、ユーザー入力を検証するために正規表現が使用されます。ユーザーがフォームを送信するとき、入力された電話番号、住所、電子メール アドレス、クレジット カード番号などが有効かどうかを判断するには、通常のリテラル文字を使用するだけでは十分ではありません。
したがって、私たちが望むパターンを記述するために、より自由な方法、つまり文字クラスターを使用する必要があります。すべての母音文字を表すクラスターを作成するには、すべての母音文字を角かっこで囲みます:
[AaEeIiOoUu]
このパターンは任意の母音文字と一致しますが、表すことができるのは 1 文字のみです。次のような文字の範囲を表すにはハイフンを使用します:
[a-z] //すべての小文字と一致します
[A-Z] //すべての大文字と一致します
[a-zA-Z] //すべての文字と一致します
[0-9] // すべての数字と一致します
[0-9.-] // すべての数字、ピリオド、マイナス記号と一致します
[ frtn] // すべての白い文字と一致します
同じですが、これらも 1 つの文字のみを表します、これは非常に重要です。 「z2」、「t6」、または「g7」などの小文字と数字で構成される文字列と一致させたいが、「ab2」、「r2d3」、または「b52」とは一致させたくない場合は、次のパターンを使用します:
^[a-z][0-9]$
[a-z] は 26 文字の範囲を表しますが、ここでは最初の文字が小文字である文字列にのみ一致します。
^は文字列の先頭を表すと前述しましたが、別の意味もあります。 ^ が一連の角括弧内で使用される場合、それは「しない」または「除外する」を意味し、特定の文字を削除するためによく使用されます。前の例を使用すると、最初の文字を数字にすることはできません:
^[^0-9][0-9]$
このパターンは "&5"、"g7"、および "-2" に一致しますが、 「12」と「66」には一致しません。特定の文字を除外する例をいくつか示します。
[^a-z] //小文字を除くすべての文字
[^\/^] //()(/)(^) を除くすべての文字
[^"' ] //二重引用符(")と一重引用符(')を除くすべての文字
特殊文字「.」(ドット、ピリオド)は、正規表現で「改行」を除くすべての文字を表すために使用されます。したがって、パターン「^.5$」は、数字の 5 で終わり、「改行」以外の他の文字で始まる任意の 2 文字の文字列と一致します。パターン「.」は、空の文字列と「改行」のみを含む文字列を除く、任意の文字列と一致します。
PHP の正規表現にはいくつかの組み込みのユニバーサル文字クラスターがあり、そのリストは次のとおりです:
文字クラスターの意味
[[:alpha:]] 任意の文字
[[:digit:]] 任意の数字
[ [:alnum:]] 任意の文字と数字
[[:space:]] 任意の白文字
[[:upper:]] 任意の大文字
[[: lower:]] 任意の小文字
[[ :punct:]] 任意の句読点
[[:xdigit:]] 任意の 16 進数 ([0-9a-fA-F] に相当)
以上が正規表現文字クラスタ(1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。