Estoy tratando de encontrar una expresión regular para eliminar comentarios de una declaración SQL.Expresión regular para eliminar comentarios de la declaración SQL
Esta expresión regular casi funciona:
(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|'(?:[^']|'')*'|(--.*)
Excepth esa última parte no maneja "-" comentarios muy bien. El problema es el manejo de cadenas SQL, delimitadas con ''.
Por ejemplo, si tengo
SELECT ' -- Hello -- ' FROM DUAL
No debe coincidir, pero está a juego.
Esto está en ASP/VBscript.
He pensado en hacer coincidir de derecha a izquierda, pero no creo que el motor de expresiones regulares de VBScript lo admita. También traté de jugar con lookbehind negativo, pero los resultados no fueron buenos.
Hola Justin ... gracias por la ayuda. Todavía queda el problema con los comentarios en línea que no comienzan al principio. Como SELECCIONAR '- Hola -' DE DUAL - comentario que debe eliminarse –
No hay problema, y bienvenido al desbordamiento de la pila. Por favor, recuerde que la forma de demostrar aprecio aquí es a través de votaciones y respuestas aceptadas (marca de verificación al lado de la respuesta). Se puede encontrar más información en [Preguntas frecuentes], especialmente [Pregunta frecuente Preguntas frecuentes] Cómo preguntar –