KAIHATSUGIKEN GROUP
******************************************************************************************
11 文字クラス
*******************
英字で始まる英数字の列
と言うようなパターンを表したい場合には、まず「英字」とか「英数字」とかを
表す必要があります。
「数字」の場合はどうなるのでしょう?
(1|2|3|4|5|6|7|8|9|0)
となります。
英字の場合は・・・・・・
面倒くさいので書きません・・・
でもこんな風に書くこともできます。
[1234567890]
となります。
もっと簡単に書くことが出来ます。
[0-9]
です。
これなら簡単!!
英文字の場合は
[a-zA-Z]
となります。
英文字と英数字の場合は
[a-zA-Z0-9]
となります。
英語の大文字で始まる4桁の英数字の場合は
[A-Z][0-9]*
となります。
〜以外と言う書き方はどうするんでしょう?
文字クラスの前に ^ を書くと〜以外と言う意味になります。
[^abc] abc以外の1文字
[^0-9] 数字以外の1文字
perlでは こんなスイッチが用意されています。
\d 数字 [0-9]と同じ
\D 数字以外 [^0-9]と同じ
\w 英数字(_も含む) [_a-zA-Z0-9]と同じ
\W 英数字以外 [^_a-zA-Z0-9]と同じ
\s 空白文字(スペース、タブ、改行など) [\t\n\x11\f\r]と同じ
\S 空白文字以外 [^\t\n\x11\f\r]と同じ
たとえば
(0|1|2|3|4|5|6|7|8|9|)+
[0123456789]+
[0-9]+
\d+
とみーんな同じ意味になります。
***********************************************