Necesito una expresión regular para analizar los pares clave-valor de un archivo de propiedades para escribirlos en una base de datos. La aplicación está escrita en java. Como necesito almacenar información sobre líneas de comentario y líneas vacías, properties.load no funciona para míRegex para pares clave-valor, incluidos los espacios en blanco sin espacios
La clave lo es todo hasta la primera aparición de un espacio en blanco sin espacios o un signo igual (incluidos los espacios en blanco escapados). El valor lo es todo hasta el final de la línea, pero también puede estar vacío.
Tiene que coincidir los siguientes casos:
clave- = valor
- valor clave
- valor de clave = valor
- clave
- valor de la clave de valor
- clave tecla \ \ clave = valor
- clave \ clave \ valor clave
He intentado lo siguiente expresión regular, pero no separados los dos últimos casos correctamente:
^(\\\s|[^\s=]+)+[\s|=](.*)?$
Para los dos últimos ejemplos que recibo en Rubular:
1. key\
2. key\ key value
en lugar de
1. key\ key\ key
2. value
También probé this, pero a mí tampoco me sirve
Gracias de antemano por ayuda!
Parece que funciona bien. ¡Gracias por ayuda y explicación! :) – Sebastian
También podría usar '(. *?) (((?
@ Dan-Cruz Simplificación muy agradable: debería agregarla como su propia respuesta y obtener algo de crédito por ello. – cordsen