2014-10-08 41 views
-1

我想寫正則表達式從這個例子檢測Double2要求正則表達式在java中

"(No1,No2,Double1)(No3,No4,Double2)(No5,No6,Double3)(No7,No8,Double4)"

注:我想在第一和第二個數字使用變量。

即:

int NB1 = something1

int NB2 = something2

我嘗試這一點,但它不工作: "\\("+ NB1 +"\\,"+ NB2 +"\\,(\\d)*\\)"

請,任何幫助嗎?

+0

請解釋「something1」的相關性,實際上整個部分 – Bohemian 2014-10-08 00:11:50

+1

「它不起作用」不是很有用的信息。你嘗試了什麼輸入? 'something1'和'something2'的價值是什麼?你獲得了什麼結果,它與你想要的有什麼不同?例如: – 2014-10-08 00:12:45

+0

:int NB1 = 3; int NB2 = 4;' '「(1,3,3.45)(3,4,5.55)(1,2,0.0)」' 它應該返回'5.55' – Reda 2014-10-08 00:12:57

回答

0

試試這個正則表達式:

"\\("+ NB1 +","+ NB2 +",([^)]*)\\)" 

您需要捕獲組括號內的量詞(*)。此外,你想匹配小數點,所以你不能使用\\d;你可以使用[\\d,]或者我建議的(關閉括號的所有內容)。