日期:2014-05-20 浏览次数:20732 次
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()); } }