2014-09-03 83 views
-3

我需要形成用于以下正则表达式:正则表达式生成

while(rste1.next()) 
{ 
e1 = rste1.getInt(1); 
e1t[i] = e1t[i]++e1; 
enp1 = rste1.getInt(2); 
enpt1 = enpt1+enp1; 
enz1 = rste1.getInt(3); 
enzt1 = enzt1+enz1; 
} 
while(rste2.next()) 
{ 
e2 = rste2.getInt(1); 
e2t[i] = e2t[i]+e2; 
enp2 = rste2.getInt(2); 
enpt2 = enpt2+enp2; 
enz2 = rste2.getInt(3); 
enzt2 = enzt2+enz2; 
} 
while(rste3.next()) 
{ 
e3 = rste3.getInt(1); 
e3t[i] = e3t[i]+e3; 
enp3 = rste3.getInt(2); 
enpt3 = enpt3+enp3; 
enz3 = rste3.getInt(3); 
enzt3 = enzt3+enz3; 
} 

我需要更换enpt1,enpt2,enpt3 ...等与enpt1 [I],enpt2 [I],enpt3 [我很快。

请帮忙。

回答

2

正则表达式:

enpt\d+ 

上述正则表达式将符合所有enpt具有以下的一个或多个数位一起。 $0在替换部件的意思是,用匹配的字符替换匹配的字符。所以它会被打印。但是我们增加了[i]$0一起,所以匹配enpt1,2,3将由enpt1[i],2[i],...

替换字符串替换:

$0[i] 

DEMO

+0

可以请你解释一下?+ ..它工作正常 – Assassin 2014-09-03 04:35:39

+0

@ManishSahni解释.. – 2014-09-03 04:53:49

+0

感谢@Avinash .. :) – Assassin 2014-09-03 05:09:07

0

你正在寻找的正则表达式为:

/enpt[1-3]/ 

of c ourse [1-3]可以扩展到[0-9]包括更多的数字,并用+将包括1个或多个字符,如[0-9]+