Hallo zusammen,
ich lerne zur Zeit groovy und gehe gerade ein Tutorial durch. Momentan arbeite ich mich durch reguläre Ausdrucke und versuche folgenden Ausdruck zu verstehen:
Beim Ausführen des Skripts wird immer "Find was successful" ausgegeben. Mir ist aber nicht ganz klar warum das so ist. Wenn ich das richtig verstanden habe sucht der Ausdruck nach allen Wörtern (bestehend aus [a-zA-Z_0-9]), die mit einem Sonderzeichnen enden, was ja auf den Text "John Jimbo jingeled happily ever after" nicht zutrifft, oder doch?!? Nun habe ich mal alle Vorkomnisse testweise mit einem "x" ersetzt
und erhalte daraufhin folgende Ausgabe xxaxfxtxexrx, die mich dann vollends verwirrt hat. Könnte mir das bitte vielleicht jemand erklären, stehe total auf dem Schlauch.
Gruß
Studdi23
ich lerne zur Zeit groovy und gehe gerade ein Tutorial durch. Momentan arbeite ich mich durch reguläre Ausdrucke und versuche folgenden Ausdruck zu verstehen:
Java:
// Every word must be followed by a nonword character
def text = "John Jimbo jingeled happily ever after"
if (text=~/(\w*\W+)*/){
println "Find was successful"
} else {
println "Find was not successful"
}
Beim Ausführen des Skripts wird immer "Find was successful" ausgegeben. Mir ist aber nicht ganz klar warum das so ist. Wenn ich das richtig verstanden habe sucht der Ausdruck nach allen Wörtern (bestehend aus [a-zA-Z_0-9]), die mit einem Sonderzeichnen enden, was ja auf den Text "John Jimbo jingeled happily ever after" nicht zutrifft, oder doch?!? Nun habe ich mal alle Vorkomnisse testweise mit einem "x" ersetzt
Java:
def repl = (text =~ /(\w*\W+)*/).replaceAll("x")
println repl
Gruß
Studdi23