问题描述
我有以下代码来查看blacklist.txt文件中的条目snd将条目黑名单。
String blacklist = readFile file: "${WORKSPACE}/blacklist.txt"
def instances = readJSON file: "${WORKSPACE}/ec2_instances.json"
instances.each {
if(it.Id) {
it.each {
if (blacklist.contains(it.Name)) {
println 'The instance ' + it.Name + 'is blacklisted and will not be killed'
} else {
println 'Triggering killer job to terminate instance ' + it.Name + '-' + it.Id
}
}
}
}
我想在代码中对Name
使用正则表达式。为此,我知道我可以使用matches
代替contains
。
但是,我似乎找不到添加正则表达式的正确语法。
这是我尝试过的:
String blacklist = readFile file: "${WORKSPACE}/blacklist.txt"
def instances = readJSON file: "${WORKSPACE}/ec2_instances.json"
instances.each {
if(it.Id) {
it.each {
if (blacklist.matches(it.Name(.*))) {
println 'The instance ' + it.Name + 'is blacklisted and will not be killed'
} else {
println 'Triggering killer job to terminate instance ' + it.Name + '-' + it.Id
}
}
}
}
请注意在正则表达式(.*)
上添加的尝试。
这失败。
在此脚本中执行此操作的正确方法是什么?
解决方法
您的代码尝试调用它。名称就像它是一个函数一样。您需要输入一个字符串:
blacklist.matches("${it.Name}(.*)")