正規表現 文字クラス

文字クラスにつて説明します

通常の文字クラス

[aiueo]

は,「a または i または u または e または o の1文字」にマッチします.
例えば

k[aiueo]i

は,kai や kii や kui や kei や koi にマッチします.

否定文字クラス

[^a]

は,「aでない1文字」にマッチします.たとえば,b や i や x や 3 や @ がマッチします.aのみがマッチしません.

[^aiueo]

は,「a i u e o 以外の1文字」にマッチします.たとえば,b や x や 3 や @ がマッチします.a と i と u と e と o のみがマッチしません.

k[^aiueo]i

は,kbi や kxi や k3i や k@i にマッチします.
kai や kii や kui や kei や koi にはマッチしません.
ki もマッチしません.

範囲指定

[a-e]

は,「aからe のいずれかの1文字」にマッチします.具体的には,a と b と c と d と eがマッチします

[0-3]

は,「0 から 3 のいずれかの1文字」にマッチします.具体的には,0 と 1 と 2 と 3 がマッチします

[a-z]

は,「aからz のいずれかの1文字」にマッチします.すなわち,全ての小文字アルファベット1文字がマッチします.

[a-zA-Z]

は,「aからz あるいは A-Z のいずれかの1文字」にマッチします.すなわち,大文字または小文字のアルファベット1文字がマッチします.

否定と範囲指定

[^e-g]

は,「e から g 以外のいずれかの文字」にマッチします.具体的には,b や i や x や 3 や @ がマッチします.e と f と g のみがマッチしません.

以上で,文字クラスの基本はおしまいです.
簡単ですね.

拡張機能

一部の実装でのみサポートされている機能です

[[0-9]-[48]]

は,[0-9] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} から [48]={4, 8} を減算した結果である {0, 1, 2, 3, 5, 6, 7, 9} がマッチします.

この記事が気に入ったらサポートをしてみませんか?