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

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

我的 build.gradle 在应用级别

中有以下代码行
    applicationVariants.all { variant ->
    variant.resValue "string", "versionName", "Version " + variant.versionName
}

有没有办法执行正则表达式并只抓取

的特定部分
variant.versionName

它 returns 我喜欢 2.56.2-alpharc,我想删除除开头数字以外的所有内容以获得 2.56.2

当然可以。您可以使用带有正则表达式的常规 java 代码或某些 groovy 特定代码:

对于java方法,沿用一些东西:

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

对于groovy方法:

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