2012-03-07 18 views
1

現在、コンテンツが数値かどうかを確認するコードを作成しようとしています。私はRegexコードを扱うことができるこのきちんとしたマッチコマンドを見つけましたが、私は初心者です。あなたが私が間違っていることを説明することができればすばらしいでしょう。Android正規表現が動作しないと思われる

私は指数としてEを関与させようとしており、と同様に0.1と入力しています。もちろん、私はそれを入力することが可能になりたくない以上、その後1句読点と1 E.

これは私のコードです:現時点では

if (blabla.getText().toString().matches("((-|\\+)?([0-9]|[0-9].|.[0-9])+([0-9]+E)?([0-9]+)?)+")) { 

、このコードは、あなただけの何かを入力することができます私にとってはE2のように([0-9] | [0-9]。|。[0-9])+の前にそれが真実を返すべきではないように見えます。あなたはピリオドをエスケープする必要があり

+0

あなたは期待していない結果を見ていますか? –

+0

私はE2が式の内容と一致しないことを期待しています – user1254588

答えて

2

:それはエスケープされていない場合

if (blabla.getText().toString().matches("((-|\\+)?([0-9]|[0-9]\.|\.[0-9])+([0-9]+E)?([0-9]+)?)+"); 

、期間は「改行以外の任意の文字」を意味します。

+0

ありがとう!それは問題だった – user1254588

+0

@ user1254588したがってこの答えを受け入れる(左側の緑の記号) – bluish

関連する問題