给出以下Groovy代码切换语句:
def vehicleSelection = "Car Selected: Toyota" switch (vehicleSelection) { case ~/Car Selected: (.*)/: println "The car model selected is " + ??[0][1] }
在没有定义新的(def)变量的情况下,是否可以提取单词“Toyota”?
解决方法
可以使用由Groovy添加到Matcher的lastMatcher方法:
import java.util.regex.Matcher def vehicleSelection = 'Car Selected: Toyota' switch( vehicleSelection ) { case ~/Car Selected: (.*)/: println "The car model selected is ${Matcher.lastMatcher[0][1]}" }