我想取得"${","}"这两个符号中间中间的值,或者包含着两个符号,
可是我的运行结果确实把他从头到尾的字符串都显示出来了。
请问我如何才能,按照我的意图取值。
源码:
package itims.svr.almsimpleana.test;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class regexTest { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
String testStr = "<Evt "+
        " MOID=\"hoS:sw1:10.10.5.1:+i1=hoS:sw2:10.10.5.2:+i2\"" +
        " SrcAddr=\"\" " +
" AddAddr=\"\" " +
" Location=\"你好(${RuleName})\" " +
" STime=\"${Now}\" " +
" Status=\"${Status}\" " +
" Severity=\"${Severity}\" " + 
" AlmType=\"你好)\" " +
" Cause=\"你好\"  " +
" Detail=\"你好 ${RuleName} 你好:${cond},你好${KPIs}。\" " +
" />";
try{
Pattern regex = Pattern.compile("\\$\\{.*\\}");
Matcher matcher = regex.matcher(testStr);
boolean flag = matcher.find();
int tempInt = matcher.groupCount();
System.out.println(flag+"---------------"+tempInt+"---"+matcher.group());

}catch(Exception e){e.printStackTrace();}
}}运行结果
true---------------0---${RuleName})"  STime="${Now}"  Status="${Status}"  Severity="${Severity}"  AlmType="你好"Cause="你好"   Detail="你好 ${RuleName} 你好:${cond},你好${KPIs}