проблема в вашем первом варианте, что перед вызовом groupCount()
вы должны позвонить find()
или matches()
def match = "Some text" =~ /(text)/
if (match.find()) {
println match.groupCount()
print match.group() // error
}
if (match) {...}
из вашего второго случая на самом деле вызывает asBoolean()
, который вызывает find()
на совпадении
и есть несколько более простых вариантов
("Some text 2 text" =~ /text/).each{
println it
}
или
println (("Some text 2 text" =~ /text/).collect())