我试图仅使用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;
}
答案 0 :(得分:0)
有多种方法可以做到这一点,尽管你应该能够得到剩余的数字:
^[0-9.\d\s]+[\D]*|([\d]+)
然后只引用匹配组1以获得结果。
示例强>: