No coincide con Regex entre dos secuencias de caracteres con `String.split`

Estoy usando Scala para trabajar con algunos datos muy desordenados que no es práctico limpiar. Se presenta en forma de pares de valores clave delimitados, algo como esto: "a=1, b=2, c=3". Estoy usando String.splitpara dividir la cadena en pares clave-valor. La mayoría de las partes del valor de cadena de estos pares se citan si es necesario, por lo que esto funciona para no coincidir ,dentro de las comillas:<string-instance>.split(", (?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)")

Sin embargo, me he encontrado con un urlcampo que no está citado ni codificado en URL en todos los casos, así que tengo que lidiar con algo como esto:

"foo=bar, url=http://city.com/Boston, MA US, is_test=false"

En este caso, estoy tratando de hacer coincidir el espacio de coma después bary el siguiente USe ignorar el siguiente Boston. Afortunadamente, puedo confiar en estos casos graves que se encuentran en el medio url=y en , is_test=todas partes (y eso es todo). He estado golpeando mi cabeza en el probador de expresiones regulares de Java aquí: https://www.freeformatter.com/java-regex-tester.html y fallando. Lo más cercano que pude obtener con la entrada anterior fue esto: (?<!url=[.]{0,300}^, is_test), (?!.*, is_test)que solo coincidía con el espacio de coma después US, no con el siguiente bar. El {0,300}está allí para aliviar el problema de Java expresiones regulares no ser capaz de manejar potencialmente infinito de observación detrás de las expresiones: java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length

¿Como puedo resolver esto? Idealmente, podría o la expresión con el espacio de coma citado ignorando uno. Una posibilidad sería demasiado para que coincida en el medio url=y , is_testy reemplazarlos con %20. Desafortunadamente en esa expresión de Regex, lo más cercano que obtuve fue (?<=url=.{0,300})\s(?!^\w*, is_test)que coincidía con el espacio en blanco justo antes del is_testcual no quiero tocar.

== editar ==

Mi primer ejemplo no incluyó una cadena de consulta con una =que es una parte importante de mi problema. Aquí hay un ejemplo más completo de lo que estoy tratando:

foo="bar, harbor", url=http://city.com/start_city=Boston, MA US&end_city=New York, NY US, is_test=false

Respuesta 1

Encontré este código fuente y quería asegurarme de que entendía por qué está escrito tal como está (o si debería serlo): boolean modificado = falso; Establezca <String> possibleSites = settings ...

Quiero mostrar todos los clientes almacenados en archivos de texto, pero un cliente está almacenado en muchos archivos de texto y se muestra más de una vez. ¿Cómo eliminar duplicados de estos clientes? Yo he tratado ...

Estoy tratando de perfilar una JVM remota con VisualVM 1.4. Estoy ejecutando macOS High Sierra 10.13.6 localmente, con la siguiente versión de OpenJDK: java -version openjdk versión "1.8.0_181" OpenJDK Runtime ...

Estoy trabajando en la base de datos postgresql, necesito convertir un tipo de datos MYSQL Blob en un byte PostgreSQL usando código java solo ¿hay alguna forma de hacerlo?