我正在某些大型SSIS软件包中进行一些替换,以反射(reflect)表名和列名的更改。
有些表格的列名与表名相同,我需要匹配列名而不匹配表名。
所以我需要的是一种在MyName
中匹配[MyName]
但在[dbo].[MyName]
中不匹配的方法(?<=\[)(MyName)(?=\])
匹配两者,我认为(?<!\[dbo\]\.)(?<=\[)(MyName)(?=\])
可以解决问题,但似乎不起作用。
/斯莫勒
最佳答案
您需要在后面的第一个外观中包括方括号:
(?<!\[dbo\]\.\[)(?<=\[)(MyName)(?=\])
关于正则表达式-结合正向和反向向后看,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4022238/