2014-10-08 70 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,]或者我建议的(关闭括号的所有内容)。