Groovy FindAll/Like

Groovy FindAll/Like,groovy,findall,Groovy,Findall,我试图在Groovy中做一些类似于SQL的的事情,其中的名称类似于%JOHN% 以下是我所拥有的: response.entries = json.entries.findAll { it.name.toUpperCase() =~ /lookupQuery.toString().toUpperCase()/ } 如果我使用==,这是可行的,但我的代码在执行类似搜索时出现问题。我认为您需要: json.entries.findAll { it.name.toUpperCase() ==~ /

我试图在Groovy中做一些类似于SQL的
的事情,其中的名称类似于%JOHN%

以下是我所拥有的:

response.entries = json.entries.findAll { it.name.toUpperCase() =~ /lookupQuery.toString().toUpperCase()/  }
如果我使用==,这是可行的,但我的代码在执行类似搜索时出现问题。

我认为您需要:

json.entries.findAll { it.name.toUpperCase() ==~ /.*${lookupQuery.toUpperCase()}.*/ }

问题是
lookupQuery
没有插入正则表达式中。 但是,在这种情况下,您实际上不需要使用正则表达式:

json.entries.findAll { it.name.toUpperCase().contains(lookupQuery.toString().toUpperCase()) }