2016-09-24 3 views
1

"e10"trueとして返すのはなぜですか?私のisNumber正規表現で何が間違っていますか?

public boolean isNumber(String s) { 
    String pattern = "\\s*[+-]?((\\d+.?\\d*)|.\\d+)(e[+-]?\\d+)?\\s*"; 

    return s.matches(pattern); 
} 
+1

@eavidanが問題を解決した場合は、緑のチェックマークをクリックして回答を受け入れると感謝します。 :) –

+0

大丈夫でしたよ、ありがとう男 –

+0

問題ありません。あなたはその男です。 :)(それがまた*あなた*評判ブースト、私たちすべてが楽しむ何かを与えたことに注意してください;)) –

答えて

2

((\\d+.?\\d*)|.\\d+)のため(これはfalseことになっています)。 2番目の部分は、. - 何のためのマッチャーでもあり、少なくとも1桁は\d+です。 実際のドット文字と一致させる場合は、代わりに\.を使用してください。

+0

おかげで多くの仲間。私 –

関連する問題