Java regex para dividir por coma pero ignorar la coma dentro de los comentarios

Necesito expresiones regulares para dividir la cadena por Coma (,) pero ignore la coma en la parte comentada. Intenté mucho después de cambiar su expresión regular. No fue exitoso, por ejemplo.

Command=RTRV-EQPT, Completion Code= DENY, Error Code= II:AC, Problem Description=  /* Input Inva,lid *******ACcess =iden:tifier */, Comment=null,

preguntado el 31 de julio de 12 a las 09:07

¿Cómo se puede diferenciar entre comentar/no comentar? Encerrada por /? -

Las afirmaciones de mirar hacia adelante / mirar hacia atrás probablemente harán el truco:

Reemplace los comentarios con comillas dobles (es decir, haga un CSV adecuado) y use un analizador de CSV adecuado. -

2 Respuestas

para su caso particular, ¿por qué no eliminar primero el comentario y luego dividirlo? Puede simplificar su problema.

txt.replace("/*reg to match the comment here */", " ").split(',');

Respondido 31 Jul 12, 11:07

expresión regular para que coincida con el comentario //.*|(\"(?:\\\\[^\"]|\\\\\"|.)*?\")|(?s)/\\*.*?\\*/ - Nandkumar Tekale

Más uno por probar tal RE, pero ¿es éste exacto? ¿Cuál es el comentario "gramática"? ¿Cómo se codifican los caracteres de los comentarios (¿se escapan? ¿Se citan?) en un valor real? Considere {{ABC="/* este es un valor /, DEF=XYZ}}. La "gramática" de los comentarios parece ser simplemente "cualquier cosa encerrada por /...*/", con la suposición adicional de que no aparecen caracteres de comentario en las cadenas de valores entre comillas, por lo que el guión doble y el manejo especial de las comillas dobles parecen un poco exagerados. El enfoque del analizador mencionado por otros suena bien. - mgaert

Respondido 31 Jul 12, 12:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.