需要正则表达式来匹配android 4.2.1及更高版本

时间:2013-11-23 19:37:10

标签: java android regex expression

在一个项目中,我需要查找用户是否使用android 4.2.1及更高版本。请帮忙

我在java中将android verion作为String。我知道我在不使用正则表达式的情况下执行此操作,但我只需要使用正则表达式

进行尝试

我可以使用像

这样的东西
Version = "4.2.2"
if(version.matches("[4-99]\\.[2-99]\\.[0-99]")) {
    return true;
} else {
    return false
}

直到android 5.0.0发布之前一直有效,之后它会失败直到5.2.0

3 个答案:

答案 0 :(得分:1)

您可以获得具有2级或3级的RELEASE版本:major,minor和build:

String myVersion = android.os.Build.VERSION.RELEASE;

    String osMajor = "0";
    String osMinor = "0";
    String osBuild = "0";

    if(myVersion.matches("[0-9]+.[0-9]+.[0-9]+")){
        osMajor = myVersion.split("\\.")[0];
        osMinor = myVersion.split("\\.")[1];
        osBuild = myVersion.split("\\.")[2];
    }
    else if(myVersion.matches("[0-9]+.[0-9]+")){
        osMajor = myVersion.split("\\.")[0];
        osMinor = myVersion.split("\\.")[1];

    }

答案 1 :(得分:0)

您应该查看http://developer.android.com/reference/android/os/Build.VERSION_CODES.html

android.os.Build.VERSION.RELEASE返回用户可见的版本字符串。例如,“1.0”或“3.4b5”。

答案 2 :(得分:0)

此:

String[] duh = version.split(".");

// Convert the three version numbers to 3 ints, and then....

int vers = (int1 * 100) + (int2 * 10) + int3;