Qual è l'equivalente di Groovy del seguente codice Perl?Sintassi di Groovy per la corrispondenza delle espressioni regolari
my $txt = "abc : groovy : def";
if ($txt =~/: (.+?) : /) {
my $match = $1;
print "MATCH=$match\n";
# should print "MATCH=groovy\n"
}
So che c'è più di un modo per farlo (compresa la strada normale Java) - ma che cosa è la "via Groovy" di farlo?
Questo è un modo per farlo, ma ci si sente un po 'goffi, specialmente la notazione degli array (m[0][1]
) che sembra un po' strana. C'è un modo migliore di farlo? In caso contrario, descrivere la logica alla base dello m[0][1]
.
def txt = "java : groovy : grails"
if ((m = txt =~/: (.+?) :/)) {
def match = m[0][1]
println "MATCH=$match"
}
Cosa stamperà? Sembra confuso ad occhio nudo. –
Come funziona? Cosa fa questo? Sembra confuso ad occhio nudo. –
perché sposti il '' 'm = txt = ~ /: (. +?): /' '' Parte in un'istruzione if? – Sajuuk