gpt4 book ai didi

groovy if 语句在变量中带有正则表达式

转载 作者:行者123 更新时间:2023-12-04 23:42:12 24 4
gpt4 key购买 nike

我想删除以 AAA 开头的 Jenkins 工作列表(例如)

当我使用显式字符串执行此操作时,它可以正常工作

if (item.name ==~ /AAA.*/){  
item.delete()
}

但是当我尝试从 Jenkins Build 属性获取正则表达式时,我失败了并且没有调用 if ......
import hudson.model.*
import hudson.node_monitors.*
import hudson.slaves.*
import java.util.concurrent.*

jenkins = Hudson.instance

def thr = Thread.currentThread()

def build = thr?.executable

String REGEX = build.environment.get("Include_Regex")

println "REGEX is " + REGEX

for (item in jenkins.items){
println("\t ${item.name}");
println("\t ${item.name.getClass()}");
if (item.name ==~ REGEX){
item.delete()
println("TEST");
}

}

当我运行它时,我得到了所有工作的列表:
在工作区/var/lib/jenkins/jobs/Bulk_Delete_Job/workspace 中构建
REGEX is /AAA.*/
AAA_test_1
class java.lang.String
AAA_test_2
class java.lang.String
AAA_test_3
class java.lang.String
Bulk_Delete_Job
class java.lang.String
ConfiguredJob
class java.lang.String
JobZ
class java.lang.String
TEST_SCM
class java.lang.String

但是没有删除任何内容/没有打印“测试”-> if 永远不会是真的....

需要帮助,谢谢!

最佳答案

字符串不应包含斜杠 - 使用 AAA.* 而不是/AAA.*/。

关于groovy if 语句在变量中带有正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34116280/

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