#8 Te pongo en contexto.
Estoy haciendo una simulación de base de datos. Tal y como lo tengo hecho, una querie se compara con una REGEX para saber si viene bien, ejemeplo.
"^(((select|insert|update|delete)\\s+){1}((((\\w+,{1}\\s?)+(\\w+\\s?))|(\\w+\\s?))){1}(\\s+((where){1}\\s+(((\\w+)={1}(\\w+)\\s*))+))?(\\s+((values){1})((\\s+.+\\s?),{1})+(.+\\s?){1})?(;)?)"
Esto casa con, por ejemeplo:
INSERT CustomerID, CustomerName, CustomerLastName, CustomerAddress, CustomerPhone, CustomerEmail VALUES 22, David, 'Salmerón Zaustre', 'Calle de la Hoz', '987 541 987', [email protected]"
Pero claro, como continúo con mi análisis sintáctico. Esto es la forma que a mi se me ocurriio, puede haber formas mas fáciles. En principio quería partir la cadena por los espacios que quedan en tre VALUES. Así ya se los campos con los que trabajar, sus valores y la acción. Antes de este proceso, toda la cadena se limpia de espacios, como es lógico, menos los espacios de VALUES, que esos si se respetan.
La cuestión es que para no cargarme la cadena también por espacios de una frase con espacios en blanco, se me ocurrió el proceso, antes de pegarlas, ponerles un guión. Así ya puedo volver a trabajar como tenía pensando.
Por cierto, si os lo preguntáis. SI, es un pequeño motor de bases de datos que he programado en Java y que trabajar con ficheros. De momento acepta consultas de inserción y de filtrado xd.