do c в https://www.scala-lang.org/api/current/scala/util/matching/Regex.html#findAllIn (источник: CharSequence): scala .util.matching.Regex.MatchIterator объясняет:
Для возврата перекрывающихся совпадений , можно сформулировать регулярное выражение с помощью lookahead (? =), которое не использует перекрывающуюся область.
scala> val r = ",,".r
r: scala.util.matching.Regex = ,,
scala> val str = "a,b,,,,,,c,,d,e,,f"
str: String = a,b,,,,,,c,,d,e,,f
scala> val newstr = r.replaceAllIn(str,", ,")
newstr: String = a,b, ,, ,, ,c, ,d,e, ,f
scala> val r = "(,)(?=(,))".r
r: scala.util.matching.Regex = (,)(?=(,))
scala> val newstr = r.replaceAllIn(str,", ,")
newstr: String = a,b, ,, ,, ,, ,, ,,c, ,,d,e, ,,f
scala> val newstr = r.replaceAllIn(str,", ")
newstr: String = a,b, , , , , ,c, ,d,e, ,f