php

文字クラスを表す正規表現を使う

[ ]で囲んでいるパターンは、文字クラスと呼んでいます。
[ ]内のいずれかが存在すればマッチします。

たとえば[123]とかけば、「1」、「2」や「3」はマッチしますが、
「4」「45」、「a」はマッチしません。

文字クラス内で「^」を使うと否定を表します。
[^123]なら「1」「2」「3」以外を表します。「4」「a」は
マッチします。

「-」は範囲を表します。[A-Z]というパターンは
「A」「L」はマッチしますが「a」「12」はマッチしません。
「-」そのものを文字クラスで使いたいときは、
[A-Z-]のように最後に書きます。

文字クラスのパターン

パターン パターンの意味 マッチする文字列
[12345] 12345のいずれか 1
[0-9] 0~9のいずれか 9
[A-Z] A~Zのいずれか S
[A-Za-z] A~Z、a~zのいずれか g
[^12345] 12345ではない文字 7
[12][12] 11,12,21,22のいずれか 11
[A-Za-z][0-9] アルファベット1文字に数字が1つ続く d3

サンプルコードの実行結果はこちら

表記 意味
\s 空白
\S 空白ではない
\d 数字
\D 数字ではない
\w 英数字(単語)
\W 英数字(単語)ではない
\A 文字列の先頭
\Z 文字列の末尾

-php
-,