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

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

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

重複を識別する

ここまでで、文字または数字を照合する方法はすでに理解しましたが、多くの場合、単語または数字のグループを照合したい場合があります。単語は複数の文字で構成され、数字のグループは複数の単数で構成されます。文字または文字クラスターに続く中括弧 ({}) は、前のコンテンツが繰り返される回数を決定するために使用されます。

文字クラスターの意味

^[a-zA-Z_]$ すべての文字とアンダースコア

^[[:alpha:]]{3}$ すべての 3 文字の単語

^a$ 文字 a

^a{4}$ aaaa

^a{2,4}$ aa,aaa または aaaa

^a{1,3}$ a,aa または aaa

^a{2,}$ には、さらに多くの文字列が含まれますthan two a's

^a{2,} For example: aardvark and aaab, but apple doesn't Notation

.{2} All twocharacters

これらの例は、中括弧の 3 つの異なる使用法を説明しています。数値 {x} は、「前の文字または文字クラスターが x 回のみ出現する」ことを意味し、数値とコンマ {x,} は、「前のコンテンツが x 回以上出現する」ことを意味します。 ,y} は、「前のコンテンツが少なくとも x 回表示されますが、y 回を超えない」ことを意味します。パターンをさらに多くの単語や数字に拡張できます:

^[a-zA-Z0-9_]{1,}$ //複数の文字、数字、またはアンダースコアを含むすべての文字列

^[0 -9]{ 1,}$ //すべての正の数

^-{0,1}[0-9]{1,}$ //すべての整数

^-{0,1}[0- 9]{0,} .{0,1}[0-9]{0,}$ //すべて小数

最後の例はわかりにくいですよね。このように見てください。すべてがオプションの負符号 (-{0,1}) (^) で始まり、その後に 0 個以上の数字 ([0-9]{0,})、およびオプションの小数点 A が続きます。 (.{0,1}) の後に 0 個以上の数字 ([0-9]{0,}) が続き、それ以外は何もありません ($)。以下では、使用できるより簡単な方法について説明します。

特殊文字「?」は {0,1} に等しく、両方とも「0 または 1 つの前のコンテンツ」または「前のコンテンツはオプション」を表します。したがって、今の例は次のように簡略化できます:

^-?[0-9]{0,}.?[0-9]{0,}$

特殊文字 "*" は {0, }, これらはすべて「0 個以上の以前のコンテンツ」を表します。最後に、文字「+」は {1,} に等しく、これは「1 つ以上の前のコンテンツ」を意味するため、上記の 4 つの例は次のように書くことができます:

^[a-zA-Z0-9_]+$ / /複数の文字、数字、またはアンダースコアを含むすべての文字列

^[0-9]+$ //すべての正の数値

^-?[0-9]+$ //すべての整数

^-?[0 -9]*.?[0-9]*$ //すべて 10 進数

もちろん、これによって技術的に正規表現の複雑さが軽減されるわけではありませんが、正規表現が読みやすくなります。

以上が正規表現文字クラスタ(2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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