2012-06-08 55 views

回答

4

我認爲這是回答你的問題:

String searchText = "asdgasdgasdg a121341234.sdg asdg as12..dg a1234.sdg "; 
searchText.matches("\\d+\\.[^.]"); 

這將匹配 「121341234.」和「1234」。但不是「12」。

+1

爲什麼最後一個[^。]? – Whimusical

0

\\d+)\\.

\\d是數字,+是一個多,\\.是點。如果.之前沒有反斜槓,它會匹配任何字符。

4
"^[\\d]+[\\.]$" 

^  = start of string 
[\\d] = any digit 
+  = 1 or more ocurrences 
\\. = escaped dot char 
$  = end of string 
1

在正則表達式中,元字符\d用於表示一個整數,但用java代碼表示爲一個正則表達式,因爲在它們上執行了雙重解析,所以必須使用\\d

首先將字符串解析器轉換爲\d,然後使用正則表達式解析器將其解釋爲整數元字符(這正是我們想要的)。

對於「一個或多個」部分,我們使用了+貪心量詞。

爲了表示.,我們使用\\.,因爲雙解析方案。我們有(\\d)+(\\.)

相關問題