2016-08-02 12 views
0

Java regexpで作業しています。作成するのに少し問題があります。私は、0.0と359.9の間の数字にマッチする正規表現を得なければなりません。常に正確に1つの10進数でなければなりません。これは超複雑ではありませんが、テキストフィールドの正規表現を実行しています。さらにタイプします。テキストフィールドマッチングのためのJava正規表現

基本的に3 35 359 359です。フィールドに入力するには、359.9がすべて一致しなければなりません。

私は\d(\.\d)?で試してみましたが、それはすべてのステップと一致せず、\d(\.)?(\d)?はゼロから始めることができます。私はregexpについて知っていることを実際にはさらに進めることができず、私は何か助けに感謝します。

答えて

0

はこれを試してみてください必要に応じてこのSimpe regex.Itが動作する可能性があり試してみてください。

^(?:3[0-5]\d|[12]\d{2}|\d{1,2})(?:\.\d?)?$ 

デモ:これは0で開始するための発現を可能にするが、それはだhttps://regex101.com/r/mW0lI5/3

+0

感謝しています。 –

+0

私はこれを意図的に容認しなければならないと仮定しました。しかしこれは '[0-2]'の範囲を '[12]'に変更することで簡単に修正できます。答えを修正しました。 –

+0

'\ d {1,2}'はまだ01.0と一致します。それを '[1-9] \ dに置き換えることはできません。 –

0

あなたは

^\d[0-5]?[0-9]?(\.)?([0-9])?$