2016-10-22 21 views
0

私は多くのスレッドを通過しました。しかし、どうやって私が間違っているのか分かりません。 私の要件は、十進数 の後に1つ以上の数値と一致しないことです。また、10進数以外は破棄する必要があります。私が書いたもの 例えば小数点以下2桁を制限する正規表現

有効

1.1 
12.1 
1234.1 
123456.0 
.1 

無効

.12 
123 
123.12 

私は試合を取得11.123123 IIに一致するようにしようとすると^([0-9]?\.?)+\.?[0-9]{1}$

です。私は間違って何をしていますか?

答えて

1

をこの正規表現は、あなたのユースケースのために動作します。そして、文字列のすべての数字(ゼロ以上*オペレータステー)を開始してから^\d*試合は、.を逃れる^\d*\.\d$
\.で、最後に\d$が一致するのは、文字列の最後の前に1つの文字がある場合のみです

+0

この正規表現.1では、10進数の前に数字がなく、10進数が渡されるはずです。 – pankaj

+0

@ sameerが修正されました。私は間違って '*'の代わりに '+'を使います。これで、有効なブロック内のすべての値と一致し、他のすべての値と一致しません – Tinwor

+0

は魅力のように動作します – pankaj

0

この1つは実行する必要があります。

^[0-9]+(\.[0-9])?$ 
関連する問題