[C#]正規表現で文字列が数字4桁のみかどうか判定するには?

C#

どうも、ちょげ(@chogetarou)です。

正規表現で文字列が数字4桁のみかどうか判定する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

正規表現で文字列が数字4桁のみかどうか判定するには、"^[0-9]{4}$"を使います。

まず、Regexを導入します。

using System.Text.RegularExpressions;

次に、Regex()をインスタンス化します。

インスタンス化する際、Regex()の引数に"^[0-9]{4}$"を指定します。

Regex regex = new Regex("^[0-9]{4}$");

そして、Regex()のインスタンスからIsMatch()を呼び出します。

IsMatch()の引数に対象の文字列を指定します。

regex.IsMatch(text)

上記のIsMatch()は、引数に指定した文字列が数字4桁のみならばTrue、数字4桁のみで無ければFalseを返します。

先頭にハイフン(-)が付いていても、数字4桁のみと判定したいならば、”^[0-9]{4}$”を”^-?[0-9]{4$”に変更します。

//先頭にハイフン(-)が付いていても数字4桁のみと判定する
Regex regex = new Regex("^-?[0-9]{4}$");

使用例

using System;
using System.Text.RegularExpressions;
public class Example
{
    public static void Main()
    {
        string num1 = "123";
        string num2 = "1234";
        string num3 = "12d3";
        
        Regex regex = new Regex("^[0-9]{4}$");
        
        Console.WriteLine(regex.IsMatch(num1));
        Console.WriteLine(regex.IsMatch(num2));
        Console.WriteLine(regex.IsMatch(num3));
    }
}
出力:
False
True
False

コメント

タイトルとURLをコピーしました