У меня есть строка типа {param1=foo}{param2=bar}hello world!
Мне нужно извлечь массив кортежей (paramName, value) из этой строки и получить что-то вроде [(param1, foo), (param2, bar)]
Возможно ли этов Scala, чтобы извлечь эти кортежи только одним регулярным выражением?Потому что мне удалось сделать это только таким образом, как
val str = "{param1=foo}{param2=bar}hello world!"
val param = """(?<=\{)(.+?)(?=\})""".r // extract everything between { and }
val keyValue = """(.+)=(.+)""".r // for extracting key and value
val parameters = for (keyValue(key,value) <- param.findAllIn(str).toArray)
yield (key,value)
И это не выглядит мило.
Также я пытался использовать
val param = """(?<=\{)(.+?)=(.+?)(?=\})""".r
Но это возвращениеparam=value
как одна строка