Regex 詹金斯工作流正则表达式

Regex 詹金斯工作流正则表达式,regex,jenkins,workflow,jenkins-workflow,Regex,Jenkins,Workflow,Jenkins Workflow,我正在Jenkins工作流中迈出第一步(Jenkins 1.609.1版) 我需要逐行读取一个文件,然后在每行上运行regex。 我对regex“grouping”类型感兴趣,但是“project”和“status”变量(下面的代码)在Jenkins中得到空值。有什么问题以及如何解决的建议吗 def line = readFile (file) def resultList = line.tokenize() for(item in resultList ){ (item =~ /(\w+)=

我正在Jenkins工作流中迈出第一步(Jenkins 1.609.1版) 我需要逐行读取一个文件,然后在每行上运行regex。 我对regex“grouping”类型感兴趣,但是“project”和“status”变量(下面的代码)在Jenkins中得到空值。有什么问题以及如何解决的建议吗

def line = readFile (file)
def resultList = line.tokenize()
for(item in resultList ){
(item  =~ /(\w+)=(\w+)$/).each { whole, project, status  ->
      println (whole)
      println (project)
      println (status)
    }
}
那么, 在查看了其他一些regex选项后,我想到了以下似乎有效的解决方案:

def matcher = item =~ /(?<proj>\w+)=(?<status>\w+)/
if( matcher.matches() ) { etc...} 
def matcher=item=~/(?\w+)=(?\w+)/
if(matcher.matches()){etc..}
嗯, 在查看了其他一些regex选项后,我想到了以下似乎有效的解决方案:

def matcher = item =~ /(?<proj>\w+)=(?<status>\w+)/
if( matcher.matches() ) { etc...} 
def matcher=item=~/(?\w+)=(?\w+)/
if(matcher.matches()){etc..}

每个带有封口的
都不起作用:


如果使用高级语言功能的东西在独立Groovy中工作,但在工作流中不工作,请尝试将其封装在标记为
@NonCPS
的方法中。这将有效地将其作为“本机”方法运行。仅对您确信将快速运行且不会阻塞I/O的代码执行此操作,因为它将无法在Jenkins重新启动后继续运行。

每个带有关闭的
都将不起作用:


如果使用高级语言功能的东西在独立Groovy中工作,但在工作流中不工作,请尝试将其封装在标记为
@NonCPS
的方法中。这将有效地将其作为“本机”方法运行。仅对您确信会快速运行且不会阻塞I/O的代码执行此操作,因为它将无法在Jenkins重新启动后继续运行。

文件的内容是:
a=web
b=ert
文件的内容是:
a=web
b=ert
我只在一些票据中找到
@NonCPS
作为解决方案,但这究竟是在哪里记录的呢?虽然可能还不够好。我只在一些票据中找到了作为解决方案的
@NonCPS
,但这到底是在哪里记录的?虽然可能还不够好。