用正则表达式提取这个式子中的数字

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:16:25
有个式子1+2+3+4+5+6+7+8+9+10+11+12+13+......可以一直加到1000.
现要求用正则把所有加号两边的数字都打印出来,在线等...
funnsy :麻烦解释一下这个式子的意思:("[^\\+]+").

切实,可行!!!
StringBuilder sb = new StringBuilder("");
for(int i=1;i<=1000;i++){
sb.append(i).append("+");
}
String s = sb.toString();
Matcher m = Pattern.compile("[^\\+]+").matcher(s);
while(m.find()){
System.out.print(m.group()+" ");
}

否定型字符组,意思是说,把所有不是加号的提取出来!!

再给你一种
Matcher m = Pattern.compile("\\d+").matcher(s);
意思是说,把所有数字提取出来!!!

public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。

例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:

Regex 结果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }

参数:
regex - 定界正则表达式
返回:
字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的
抛出:
PatternSyntaxException - 如果正则表达式的语法无效

String str = "1+2+3+4+5+6+7