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()
方法。