类似这段代码
请帮帮我
"56".replaceAll(/(?<name1>\d)(?<name2>\d)/){print name1}
最佳答案
你可以使用
"56".replaceAll(/(?<name1>\d)(?<name2>\d)/) {_, name1, name2 ->
println name1
println name2
}
输出:
5
6
这里的重点是 Matcher
返回的匹配对象包含 3 个组,即它等于捕获组的数量和整个匹配本身作为组 0。因此,您应该提供所有 3 个到闭包参数,然后你可以打印任何你喜欢的。
关于java - 可以使用命名变量在 groovy 的闭包中打印命名组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49143408/