В регулярках не силен, тек что если что не так простите.
val firstRegExp="""([ -]?\d\.\d.*(?:[\n\r]?[\n\r]? .*)*)""".r
val spaceRegexp="""[ \n\r]+""".r
val data=scala.io.Source.fromFile("c:/temp/temp.txt").mkString
val result=firstRegExp.findAllIn(data).matchData.map(_.group(1)).toSeq
val finalResult=result.map(ss=>spaceRegexp.replaceAllIn(ss," "))
Я писал под виндой, забив ваш проверочный текст в блокнот. Из-за этого пришлось учесть ее формат перевода строк(блок "[\n\r]?[\n\r]?").
Вырезание лишних пробелов и переноса строк сделаны второй регуляркой, скорее всего можно сделать сразу, но как я уже сказал, регулярки не мой конек. Вообще все это можно забить в аццкий однострочник и радоваться, правда без комментов я бы в таком разбираться не хотел.