2011-08-10 4 views
0

浮動小数点数(実際にはjava.math.BigDecimal)が区間[0、1.12]にあるかどうかをチェックしたいと思います。正規表現でそれを行うことはできますか?これの目的は、テキストフィールドを検証することです。regexpでfloat間隔を検証するにはどうすればよいですか?

+0

私は値を数値に変換し、通常の数値比較を行います。 –

+0

IMO、あなたは正規表現、期間でそれを行うことはできません。 –

答えて

2

正規表現を使用するとパターンを検証できますが、一致する文字の意味は検証できません。

これを模倣し、すべての有効な値に適合するパターンを作成できますが、その痛みは維持できません。

A正規表現は、IMO番号に変換し、この方法を検証する方が良いだろう。このような何か(未テスト!!

/^(?:0|0\.\d+|1\.0\d*|1\.1\d*|1\.20*)$/ 

を見てしまいます。

+0

私はそれを少し演奏して^(?:0 \。\ d + | 1 | 1 \ .0 \ d * | 1 \ .11 \ d * | 1 \ .120 *)$ –

+0

btwを入れました。終わりまでスラッシュ? –

+1

@Ondrej一部の言語では、たとえば、 PerlとPHPには正規表現の区切り文字が必要です。これはスラッシュにすることもできますし、他の文字にすることもできます。あなたは言語を与えていないので、私はPerlの構文を使いました。 – stema

関連する問題