日期:2014-05-20 浏览次数:20925 次
String s = "(((indicator4-indicator3)>0)?\"上升\"+(label5-indicator3+label8):\"下降\"+(label7-label10-label12))";
Pattern p = Pattern.compile("(?i)(indicator\\d+|label\\d+)");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group());
}
------解决方案--------------------
public static void main(String[] args) {
String str = "有表达式(((indicator4-indicator3)>0)?\"上升\"+(label5-indicator3+label8):\"下降\"+(label7-label10-label12)),我想获得里面所有的以indicator、label开头的内容";
Matcher m = Pattern.compile("(?<!\\w)(indicator|label)\\d+").matcher(str);
while(m.find()){
System.out.println(m.group());
}
}