カンマ区切りの文字列を正規表現で表す

公開日:  

正規表現


カンマ区切りの文字列の正規表現について説明します。

今回ターゲットとするのは以下のような文字列です。アルファベットの文字列をカンマ(,)でつないでいます。これを正規表現で判定したいとします。

apple,banana,orange

まあ、プログラミングとかやってるとなじみある形式ではあると思います。

正規表現

これを正規表現で表すにはどう書けばよいでしょうか?
さっそくですが以下に答えを記します。

^[a-zA-Z]+(?:,[a-zA-Z]+)*$

解説

上で説明した正規表現について、かんたんに解説します。

正規表現 意味
^ 行の先頭
[a-zA-Z]+ アルファベットが1文字以上(アルファベットの文字列)。最初の例だとappleの部分
(?:,[a-zA-Z]+)* 「カンマ(,)とそれに続くアルファベットの文字列」のパターンが0個以上。最初の例だと,banana,orangeの部分
$ 行の末尾

あまり細かく説明していませんが、まあなんとなく分かればいいんじゃないでしょうか。

以上、カンマ区切りの文字列の正規表現の書き方でした。