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

C#

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

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

スポンサーリンク

方法

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

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

まず、Regexを導入します。

using System.Text.RegularExpressions;

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

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

//n=桁数
Regex regex = new Regex("^[0-9]{n}$");

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

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

regex.IsMatch(text)

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

先頭にハイフンが付くマイナスの値も含めたい場合は、"^[0-9]{n}$"を、"^-?[0-9]{n}$"にします。

Regex regex = new Regex("^-?[0-9]{5}$");
スポンサーリンク

使用例

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

コメント

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