There is an awesome trick for regular expressions:

    val LatLon = """(\d+(?:\.\d+)?),(\d+(?:\.\d+)?)"""
    val LatLon(lat, lon) = value
    
    case JsString(LatLon(lat, lon)) => ...