数字のみの正規表現 質問する

数字のみの正規表現 質問する

正規表現をまったく使用したことがないので、トラブルシューティングに苦労しています。正規表現は、含まれる文字列がすべて数字の場合にのみ一致させるようにしたいのですが、以下の 2 つの例では、すべて数字と等号 ("1234=4321") を含む文字列と一致します。この動作を変更する方法はあると思いますが、前述したように、私は正規表現をあまり使用したことがないのです。

string compare = "1234=4321";
Regex regex = new Regex(@"[\d]");

if (regex.IsMatch(compare))
{ 
    //true
}

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

if (regex.IsMatch(compare))
{ 
    //true
}

関係があるかもしれないので、私は C# と .NET2.0 を使用しています。

ベストアンサー1

開始アンカーと終了アンカーを使用します。

Regex regex = new Regex(@"^\d$");

"^\d+$"複数の数字を一致させる必要がある場合に使用します。


は、東洋アラビア数字などの他の数字文字と"\d"一致することに注意してください。一致をアラビア数字の 0 ~ 9 のみに制限するには、を使用します。[0-9]٠١٢٣٤٥٦٧٨٩"^[0-9]+$"


数字以外の数値表現(例えば小数値など)を含める必要がある場合は、クリス正規表現を使用して数値を解析するための包括的なガイド

おすすめ記事