1から9999までの数字のみを許可する正規表現が必要です。他のすべての文字記号とすべてを制限する必要があります。私は試し^\d+$
ました。しかし、それは機能していません
質問する
521 次
4 に答える
4
完全に正規表現でそれを行うことを主張する場合、それは少し醜いでしょう。私が考えることができる唯一のことは次のようなものです: ^[1-9][0-9]{0,3}$
(1から9までの数字とそれに続く0から9までの0から3桁)。
于 2013-01-25T05:16:49.667 に答える
1
あなたは本当にこれのために正規表現を必要としません、
したがって、非正規表現の方法
string myNum = "5000";
int num;
if (Int32.TryParse(myNum, out num) && (num >= 1 && num <= 9999))
{
//condition validated
}
そしてその
正規表現ウェイ
bool foundMatch = Regex.IsMatch(myNum, "^(?:[1-9][0-9]{0,3})$");
于 2013-01-25T05:16:14.740 に答える
1
文字クラスを使用したい。
^[1-9][0-9]{,3}$
于 2013-01-25T05:17:36.543 に答える
0
使用できます
^0*(?!\d{5,}$)(?!0+$)\d+$
ただし、文字列を int に解析してから値を比較することをお勧めします。
KISSの原則に従う
于 2013-01-25T06:06:02.770 に答える