目前遇到了一个不寻常的问题,我正在遍历标签列表并与正则表达式模式进行测试以查看是否匹配。
def tags = sh ( script: "git ls-remote --tags git@bitbucket.org:<PATH_TO_GIT_REPO>.git ", returnStdout: true)
def tag_line = tags.split("\n")
tag_line.each
{
tag ->
// println(tag)
current_tag = tag.split()[1].split("/")[2].trim()
println("Current Line: " + current_tag)
def major = (current_tag =~ /v.+\.\d+\.\d*/)
println(major)
}
如果我使用一个在线正则表达式测试工具,它会返回匹配结果。然而,无论我做什么,控制台输出始终如下:
Current Line: v1.9.0^{}
[Pipeline] echo
java.util.regex.Matcher[pattern=v.+\.\d+\.\d* region=0,9 lastmatch=]
[Pipeline] echo
Current Line: v1.9.1
[Pipeline] echo
java.util.regex.Matcher[pattern=v.+\.\d+\.\d* region=0,6 lastmatch=]
v1.9.1
吗? - Wiktor Stribiżewif(major) { println major.group() }
。 - Wiktor Stribiżew(current_tag =~ /v.+\.\d+\.\d*/)
是一个尚未运行的匹配器。 - Wiktor Stribiżew