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

时间:2021-11-08 15:22:23

In a project I need to find if the user is using android 4.2.1 and above. Please help

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

I have android verion as a String in java. I am aware i cam do this without using regular expression, but i just need to try it using regular expression

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

I can use something like

我可以用类似的东西

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

This works till android 5.0.0 is released and after that it fails till 5.2.0

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

3 个解决方案

#1


1  

You can get RELEASE version that has 2 or 3 levels: major, minor and build respectively:

您可以获得具有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];

    }

#2


0  

You should look at http://developer.android.com/reference/android/os/Build.VERSION_CODES.html

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

android.os.Build.VERSION.RELEASE returns the user-visible version string. E.g., "1.0" or "3.4b5".

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

#3


0  

This:

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

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

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

#1


1  

You can get RELEASE version that has 2 or 3 levels: major, minor and build respectively:

您可以获得具有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];

    }

#2


0  

You should look at http://developer.android.com/reference/android/os/Build.VERSION_CODES.html

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

android.os.Build.VERSION.RELEASE returns the user-visible version string. E.g., "1.0" or "3.4b5".

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

#3


0  

This:

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

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

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