我尝试执行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
}
}
答案 0 :(得分:1)
在你的语句中,使用findAll
方法返回regex的输出,如下所示:
"5.2.0.123".findAll(/^[0-9]+(\.[0-9]+)?(\.[0-9]+)?/)[0]