ホームページ  >  記事  >  バックエンド開発  >  正規表現文字クラスタ(1)

正規表現文字クラスタ(1)

巴扎黑
巴扎黑オリジナル
2017-04-20 18:04:052186ブラウズ

キャラクタークラスターとは何ですか?

インターネットプログラムでは、通常、ユーザー入力を検証するために正規表現が使用されます。ユーザーがフォームを送信するとき、入力された電話番号、住所、電子メール アドレス、クレジット カード番号などが有効かどうかを判断するには、通常のリテラル文字を使用するだけでは十分ではありません。

したがって、私たちが望むパターンを記述するために、より自由な方法、つまり文字クラスターを使用する必要があります。すべての母音文字を表すクラスターを作成するには、すべての母音文字を角かっこで囲みます:

[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 サイトの他の関連記事を参照してください。

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