有可能在build.gradle中为字符串执行REGEX吗



我在应用程序级的build.gradle中有以下代码行

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

有没有一种方法可以执行正则表达式并只获取的特定部分

variant.versionName

它给我返回了类似2.56.2-α的东西,我想删除除了开头的数字之外的所有内容,以获得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)

最新更新