scala/ScalaBook/chapter-02/regex.scala

import java.util.regex.{Pattern,Matcher}

//while(true) {
//  print("Enter regex...\n? ")
//  val p = Pattern.compile(readLine)
//  println(p.flags() )
//  print("Enter string to search...\n? ")
//  val m = p.matcher(readLine)
//  while (m.find())
//    println(m.group() + "; " + m.start() + ", " + m.end())
//  println("End Of Transmission")  
//}


var REGEX = "(\\d)(\\d\\d\\d)(?!\\d)"
var INPUT = "123456789"
var REPLACE = "$1,$2"
 
val p = Pattern.compile(REGEX)
var m = p.matcher(INPUT) // get a matcher object
while (m.find()){
  INPUT = m.replaceFirst(REPLACE)
  m = p.matcher(INPUT)
}
println(INPUT)