タイトルはわかりやすいと思います
有効:0.1, 0.15, 0.25, .... and 1
をどのように含めるかが、1
ここでの主な課題です。ありがとう。
アップデート
コードが書けなくてすみません。ソース コードにアクセスできないレガシー アプリケーションです。アプリケーション検証メソッドは既に埋め込まれており、アプリに埋め込まれた RegularExpression バリデーターを使用しています
正規表現を使用すると、パターンから選択できます(つまり、パターンAまたはパターンBに一致します)。|でこれを行います 文字(例:A | B)。
これを試して:
^(0(\.[0-9]+)?|1(\.0+)?)$
これは正規表現ソリューションではありません。正規表現がこれに適したソリューションではないと思うからです。私はそれを次のようにします:
string n = "0.1";
decimal number;
bool isNumber = Decimal.TryParse(n, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out number);
return isNumber && number >= 0 && number <= 1;
多分これは役立つでしょう:
^(?:(?:0)(?:\.\d+)?)|(?:1)(?:\.0+)?$