简体   繁体   English

是否可以在 build.gradle 中为字符串执行 REGEX?

[英]Is it possible to do REGEX in build.gradle for a string?

I have the following line of code in my build.gradle at the app level我在应用程序级别的 build.gradle 中有以下代码行

    applicationVariants.all { variant ->
    variant.resValue "string", "versionName", "Version " + variant.versionName
}

Is there a way to perform a regex and only grab a specific portion of the有没有办法执行正则表达式并只获取特定部分

variant.versionName

It returns me something like 2.56.2-alpharc and i want to remove everything except the numbers at the beginning to get 2.56.2它返回给我类似 2.56.2-alpharc 的东西,我想删除除开头数字之外的所有内容以获得 2.56.2

Sure you can.你当然可以。 You can use a regular java code with regular expressions or some groovy specific code:您可以使用带有正则表达式的常规 java 代码或一些常规的特定代码:

For java approach, something along:对于java方法,一些东西:

    Pattern pattern = Pattern.compile("^(\\d+\\.\\d+\\.\\d+).*");
    Matcher matcher = pattern.matcher(variant.versionName);
    matcher.find()
    def strippedVersion = matcher.group(1)

For groovy approach:对于常规方法:

    def matcher = variant.versionName =~ /^(\d+\.\d+\.\d+).*/
    matcher.find()
    def strippedVersion = matcher.group(1)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM