2010-10-26 23 views
7

Estoy haciendo algunas sustituciones en algunos paquetes enormes de SSIS para reflejar los cambios en los nombres de tabla y columna.Regex - Combinando lookbehind positivo y negativo

Algunas de las tablas tienen nombres de columna que son idénticos a los nombres de tabla y necesito hacer coincidir el nombre de columna sin hacer coincidir el nombre de tabla.

Así que lo que necesita es una manera para que coincida con MyName en [MyName] pero no en [dbo].[MyName]

(?<=\[)(MyName)(?=\]) partidos ambos, y pensé que (?<!\[dbo\]\.)(?<=\[)(MyName)(?=\]) que hacer el truco, pero no parece funcionar.

/Smoller

+0

¿Ha considerado XSLT, o LINQ to XML? – Kobi

Respuesta

6

Es necesario incluir el soporte abertura cuadrada en la primera búsqueda hacia atrás:

(?<!\[dbo\]\.\[)(?<=\[)(MyName)(?=\]) 
Cuestiones relacionadas