gpt4 book ai didi

groovy - 用正则表达式过滤文件名

转载 作者:行者123 更新时间:2023-12-03 03:16:40 25 4
gpt4 key购买 nike

我想知道,是否有一种更简单的“类似于等级”的方式,如何仅在目录中列出匹配正则表达式的文件。目前我的解决方案看起来像这样

File fileList = file("${moduleDir}/target")
// pattern for maven artifact
def pattern = ~"^.*-[0-9]\\.[0-9]\\.[0-9](-SNAPSHOT)?\\.jar\$"
fileList.listFiles().each { file ->
if (file.isFile()) {
if (pattern.matcher(file.getName())) {
copy {
from file.getPath()
into targetDir
}
}
}
}

我正在寻找的是完全绕过手动模式匹配。您知道有什么方法可以帮助我实现这一目标吗?谢谢。

最佳答案

What I'm looking for, is to completely bypassing of manual pattern matching



不太清楚您的意思是什么,因为您显然想匹配自定义模式。无论如何,我都将使用 Copy任务而不是 copy方法,并在复制操作中“进行”过滤。就像是:
task copyArtifacts(type: Copy) {       
from(fileTree(fileList).files) { // flattening
include {
it.file.name ==~ "^.*-[0-9]\\.[0-9]\\.[0-9](-SNAPSHOT)?\\.jar\$"
}
}
into targetDir
}

PS:这些是您自己的文物吗?我问是因为一般而言,Maven构件可以使用几乎任何版本号格式。

关于groovy - 用正则表达式过滤文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14584443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com