我正在某些大型SSIS软件包中进行一些替换,以反射(reflect)表名和列名的更改。

有些表格的列名与表名相同,我需要匹配列名而不匹配表名。

所以我需要的是一种在MyName中匹配[MyName]但在[dbo].[MyName]中不匹配的方法
(?<=\[)(MyName)(?=\])匹配两者,我认为(?<!\[dbo\]\.)(?<=\[)(MyName)(?=\])可以解决问题,但似乎不起作用。

/斯莫勒

最佳答案

您需要在后面的第一个外观中包括方括号:

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

关于正则表达式-结合正向和反向向后看,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4022238/

10-11 08:15