正则表达式 - 结合正面和负面的外观

时间:2010-10-26 09:19:16

标签: regex lookbehind

我在一些巨大的SSIS包中做了一些替换,以反映表名和列名的变化。

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

所以我需要的是一种匹配MyName [MyName]而不是[dbo].[MyName]

的方法

(?<=\[)(MyName)(?=\])与两者都匹配,我认为(?<!\[dbo\]\.)(?<=\[)(MyName)(?=\])可以解决这个问题,但似乎不起作用。

/ Smoller

1 个答案:

答案 0 :(得分:6)

您需要在第一个lookbehind中包含左方括号:

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