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

C#

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

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

スポンサーリンク

方法

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

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

まず、Regexを導入します。

using System.Text.RegularExpressions;

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

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

Regex regex = new Regex("^[0-9]+$");

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

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

regex.IsMatch(text)

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

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

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

使用例

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

コメント

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