Grails ==~布尔运算符的作用是什么?

Grails ==~布尔运算符的作用是什么?,grails,groovy,operators,Grails,Groovy,Operators,这个布尔运算符在下面的代码中做什么 springcacheCacheManager.cacheNames.each { name -> if (cacheNamePatterns.any { name ==~ it }) { flushNamedCache(name) } } 执行正则表达式匹配: def regex = "[A-Z]{2,}" assert "wot" !=~ regex assert "A" !=~ regex assert "ABC

这个布尔运算符在下面的代码中做什么

springcacheCacheManager.cacheNames.each { name ->
    if (cacheNamePatterns.any { name ==~ it }) {
        flushNamedCache(name)
    }
}
执行正则表达式匹配:

def regex = "[A-Z]{2,}"

assert "wot" !=~ regex
assert "A" !=~ regex
assert "ABC" ==~ regex
在代码中,如果
cacheName
与任何
cacheNamePatterns
匹配,它将被刷新:

def cacheNames = ['html', 'res/images', 'res/js']

def cacheNamePatterns = ['res/.*']

def flushedCaches = []


cacheNames.each { name ->
    if (cacheNamePatterns.any { name ==~ it }) {
        flushedCaches << name
    }
}

assert flushedCaches == ['res/images', 'res/js']
def cacheNames=['html','res/images','res/js']
def cacheNamePatterns=['res/*']
def flushedCaches=[]
cacheNames.each{name->
if(cacheNamePatterns.any{name==~it}){

flushedCaches感谢您的回答。仅适用于groovy?也有类似的功能,尽管groovy对
=~
=~
具有不同的功能。其他语言通常具有
.match()
方法。