日期:2014-05-20  浏览次数:20799 次

高手们帮忙看看,我的正则表达式只取到部分指定值
有一个公式
((indictor6+indictor8*2)/indicator9-10)/2+indicator1*2+(indicator3-indicator4/indicator5)

我想获得其中所有的indicator开头的值,我用了如下方法
public class RegularExpress
{
public static void main(String[] args) {
  String str = "((indictor6+indictor8)*2)/indicator9-10)/2+indicator1*2+(indicator3-indicator4/indicator5)-indicator10";
  Pattern p = Pattern.compile("indicator\\d*");
  Matcher m = p.matcher(str);
  while(m.find()) {
  System.out.println(m.group());
  }
   
  }

}

结果是
indicator9
indicator1
indicator3
indicator4
indicator5
indicator10

indicator6和indicator8没有取到。。。。请高人指点

------解决方案--------------------
((indictor6+indictor8)*2)

indicator6

匹配到了才怪呢!
------解决方案--------------------
indictor6 indicator6
indictor8 indicator8
粗心啊。。。