从字符串中获取数字的最后一部分

时间:2017-11-30 06:36:37

标签: android regex string

我试图仅使用regex从字符串中获取数字的最后部分但不知何故它只显示第一部分(1.2.54 /1.5 / 1.568)。< / p>

感谢任何帮助。

示例字符串可以是:

1.2.54 (4587) //should result in 4587

1.5 b458 //should result in 458

1.568 build45 version6 //should result in 45 6

我的方法:

private static String getVersionAddition(String str) {
        String version = "";
        Pattern p = Pattern.compile("(([0-9])+(\\.{0,1}([0-9]))*)+");
        Matcher m = p.matcher(str);

        if (!m.find()) {
            Log.e("ERROR", str + " skipped");
        } else
            version = m.group();
        Log.e("VERSION", version);

        return version;
    }

1 个答案:

答案 0 :(得分:0)

有多种方法可以做到这一点,尽管你应该能够得到剩余的数字:

^[0-9.\d\s]+[\D]*|([\d]+)

然后只引用匹配组1以获得结果。

示例

https://regex101.com/r/2TY8Eh/1