Was ist das Groovy-Äquivalent des folgenden Perl-Codes?Groovy-Syntax für die Übereinstimmung regulärer Ausdrücke
my $txt = "abc : groovy : def";
if ($txt =~/: (.+?) : /) {
my $match = $1;
print "MATCH=$match\n";
# should print "MATCH=groovy\n"
}
Ich weiß, dass mehr als ein Weg gibt, es zu tun (einschließlich der regelmäßigen Java Art und Weise) - aber was ist die „Groovy Art und Weise“, es zu tun?
Dies ist ein Weg, es zu tun, aber es fühlt sich ein wenig ungeschickt - vor allem die Array-Notation (m[0][1]
), die ein bisschen seltsam fühlt. Gibt es einen besseren Weg? Wenn nicht - bitte beschreiben Sie die Logik hinter m[0][1]
.
def txt = "java : groovy : grails"
if ((m = txt =~/: (.+?) :/)) {
def match = m[0][1]
println "MATCH=$match"
}
Was wird gedruckt? Sieht für das bloße Auge verwirrend aus. –
Wie funktioniert das? Was macht das? Sieht für das bloße Auge verwirrend aus. –
warum wickeln Sie den '' 'm = txt = ~ /: (. +?): /' '' Teil in eine if-Anweisung? – Sajuuk