Jenkins管道groovy在变量中存储匹配的正则表达式字符串

Jenkins管道groovy在变量中存储匹配的正则表达式字符串,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,我在一个jenkinsfile中有一个字符串,我正试图基于该字符串的正则表达式匹配创建一个新变量。例如: def stringA = "Hello World Today" def stringB = stringA =~ /Hello/ echo stringB 我希望在控制台中看到Helloecho,但我只得到似乎是对regex对象的引用 在这种情况下,stringB确实会被分配一个正则表达式对象的值。您需要使用该语法来捕获正则表达式中的子字符串。这是Groovy和大多数其他解释语言中

我在一个
jenkinsfile
中有一个
字符串
,我正试图基于该字符串的正则表达式匹配创建一个新变量。例如:

def stringA = "Hello World Today"

def stringB = stringA =~ /Hello/

echo stringB
我希望在控制台中看到
Hello
echo,但我只得到似乎是对regex对象的引用


在这种情况下,
stringB
确实会被分配一个正则表达式对象的值。您需要使用该语法来捕获正则表达式中的子字符串。这是Groovy和大多数其他解释语言中的
()

def stringB = stringA =~ /(Hello)/
此时
stringB
的值将是一个嵌套数组,其中每个元素都是一个数组,其中包含正则表达式中每个
()
的匹配子字符串的值。在这种情况下,只有一个
()
,因此我们访问第0个元素,然后访问包含匹配子字符串的嵌套元素,即1处的元素:

print stringB[0][1]
这将返回
Hello