¿Cuál es la expresión regular para clave = valor, delimitada por comas?

¿Cuál es la expresión regular de Java que captura toda la lista de valores clave (se muestra en negrita en el ejemplo a continuación)?

foo bar k0 = v0, k1 = v1, k2 = v2 foo bar

Las claves y los valores no contienen espacios en blanco, ,o =.

Lo intenté: (([^\s,=]+=[^\s,=]+),?)+en la página de prueba de expresión regular para Java , pero me da grupos de las igualdades individuales ( k0=v0, etc.) en lugar de la cadena completa. ¿Porqué es eso? y como lo arreglo?

Respuesta 1

Su expresión regular no permite espacios. Si desea que también incluya espacios, no puede deshacerse de "foo bar"él (supondrá que es parte de una clave o valor). Si solo desea permitir espacios después de una coma, intente esto:

(([^\s,=]+=[^\s,=]+)(?:,\s*)?)+
Respuesta: 2

Tengo el problema del verificador de paridad: una cadena binaria es una cadena que contiene solo caracteres '0' y '1'. La paridad de una cadena binaria se define de la siguiente manera. Si el número de veces que el personaje '...

En mi aplicación, estoy tratando de reproducir un archivo de sonido en formato ogg, almacenado en una carpeta sin formato en el directorio res de mi aplicación. Cuando presiono el botón que llama a la siguiente función, simplemente se congela con ...

La clase Applet ha quedado en desuso, pero los tutoriales en línea para crear applets de Java amplían la clase Applet. ¿Hay una manera diferente de crear un applet sin usar la clase obsoleta?

Cuando ejecuto una prueba con Robotium, utilizo una aserción para verificar que hay texto específico en la página, pero falla. Sin embargo, cuando ejecuto la prueba sin la afirmación, la prueba pasa. ¿Por qué esto ...