如何使用正则表达式从字符串中提取数字?

时间:2014-01-31 15:16:22

标签: java regex

String a = "sin(23)+cos(4)+2!+3!+44!";
a.replaceAll("(\d+!)","");


Current Output = sin(23),+,cos(4),+,+,+

我想要结果2!,3!,44!

请帮忙

3 个答案:

答案 0 :(得分:0)

反斜杠必须通过加倍来逃避!也许还需要逃避,因为它在某些情况下具有特殊意义,所以请使用

 \\d+\\!

代替。

答案 1 :(得分:0)

不确定这是否是您所需要的:

\+(\d+!)

匹配2!和3!和44!

See it in action

答案 2 :(得分:0)

    String a = "sin(23)+cos(4)+2!+3!+44!";
    Pattern number = Pattern.compile("\\d+!");
    Matcher matcher = number.matcher(a);
    while (matcher.find()) {
        System.out.println(matcher.group());
    }