如何在Jenkins管道文件中进行正则表达式验证?

时间:2017-08-28 18:36:56

标签: jenkins groovy jenkins-pipeline

我尝试执行shell命令并将输出结果内容存储到字符串变量中。从该字符串变量,我需要使用正则表达式查找并获取所需的十进制值。以下是我试过的代码。工作不断失败。有谁可以帮我解决这个问题?

我的输出应该像" 5.2.0"。

node("10.6")
{
stage 'test' 
try
{   
def matcher = "5.2.0.123" =~ /^[0-9]+(\.[0-9]+)?(\.[0-9]+)?/
if( matcher.matches() ) { echo "success"} 
}
catch(Exception e)
{ echo e
}

}

1 个答案:

答案 0 :(得分:1)

在你的语句中,使用findAll方法返回regex的输出,如下所示:

​"5.2.0.123".findAll(/^[0-9]+(\.[0-9]+)?(\.[0-9]+)?/)[0]​