KAIHATSUGIKEN GROUP

PERL PROGRAMMING LANGUAGE



******************************************************************************************
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+

とみーんな同じ意味になります。
***********************************************