Ich habe eine Scala regex die wie folgt aussieht:Extrahieren von passenden Gruppen mit Scala regex
"fizz<[a-zA-Z0-9]+,[a-zA-Z0-9]+>"
I ein Verfahren haben, die diese regex verwendet und vergleicht sie mit einem String-Argument. Wenn das Argument mit der Regex übereinstimmt, möchte ich die erste passende Gruppe (also den Wert innerhalb der ersten [a-zA-Z0-9]+
) sowie die zweite passende Gruppe erhalten. Wenn ich also in "fizz<herp,derp>"
als mein Argument übergeben, würde ich „Herp“ und „derp“ in der Lage sein wollen, zu erhalten:
def computeKey(buzz : String) : String = {
var key : String = "blah"
val regex = "fizz<[a-zA-Z0-9]+,[a-zA-Z0-9]+>".r
if(buzz matches regex) { // TODO: How do I do this check?
val firstElement : String = "" // TODO: Get this (ex: "herp")
val secondElement : String = "" // TODO: Get this (ex: "derp")
// Ex: "herp-derp"
key = s"${firstElement}-${secondElement}"
}
}
, wie ich dies erreichen kann?
Dies fügt nichts zur angenommenen Antwort außer etwas allgemeinerer Syntax hinzu, die das OP nicht verlangte, und die fast sicher eine schlechte Idee für etwas wie Regexabgleich ist. –