¿Cuál es el equivalente de Groovy del siguiente código de Perl?Sintaxis de Groovy para la expresión regular que coincide
my $txt = "abc : groovy : def";
if ($txt =~/: (.+?) : /) {
my $match = $1;
print "MATCH=$match\n";
# should print "MATCH=groovy\n"
}
sé que hay más de una manera de hacerlo (incluyendo la forma habitual de Java) - pero lo que es la "manera maravillosa" de hacerlo?
Esta es una forma de hacerlo, pero se siente un poco torpe, especialmente la notación de matriz (m[0][1]
) que se siente un poco extraño. ¿Hay una mejor manera de hacerlo? De lo contrario, describa la lógica detrás de m[0][1]
.
def txt = "java : groovy : grails"
if ((m = txt =~/: (.+?) :/)) {
def match = m[0][1]
println "MATCH=$match"
}
¿Qué significa esto? Parece confuso a simple vista. –
¿Cómo funciona esto? ¿Qué hace esto? Parece confuso a simple vista. –
¿por qué envuelve la parte '' 'm = txt = ~ /: (. +?): /' '' En una instrucción if? – Sajuuk