2012-10-08 110 views
-3

我想,如果存在一個字符串後跟數字正則表達式此查詢

E.g 123.456 = True 
E.g 123456. = False 
E.g 123456 = False 
E.g 123.456. = True 

任何正則表達式的天才在那裏一個.

+1

這是一個非常基本的正則表達式,你並不需要一個天才,甚至我可以回答。 –

+0

如果你知道答案 – user1438082

回答

5
\.(?=[0-9]) 

點當且僅當它的後面跟着一個數字相匹配。在Java中,這是

Pattern regex = Pattern.compile("\\.(?=[0-9])"); 
Matcher regexMatcher = regex.matcher(subjectString); 
foundMatch = regexMatcher.find(); 
+0

這與'\。\ d'相比如何? – bozdoz

+2

您的正則表達式也匹配數字,我的匹配點(如果它後面跟着一個數字)。 OP的問題有點模糊,他是否希望數字成爲比賽的一部分。這可能沒關係... –

+0

對不起,但還是不明白。你能解釋一下那個'?='是什麼意思? –

2

正則表達式將是'\\.\\d'我相信

+0

這個問題很容易不要忘記逃避反斜槓。 –

1

這工作得很好:

String regex="\\.\\d";