我需要搜索各种大型T-SQL脚本,并找到对具有[Database].[SchemaName].[Table|View|StoredProcedure]
模式的数据库对象的所有引用。
我正在使用notepad++来搜索包含目标脚本的文件夹。有人能帮我使用正则表达式来识别对使用上述模式的数据库对象的引用吗。例如:
[MyDB].[MySchema].Employee
MyDb.MySchema.Employee
MyDb.[MySchema].uspGetEmployee
[MyDb].MySchema.vwEmployee
都是要找到的候选者,因为它们有三层。
CCD_ 2不是候选,因为它不遵循CCD_ 3的模式。
谢谢。
此正则表达式:
(w+|[w+]).(w+|[w+]).w+
就这么简单。意思是:
- 一个词,或介于
[]
((w+|[w+])
)之间的词 - 后面跟着一个点(
.
) - 后面跟着一个单词,或介于
[]
((w+|[w+])
)之间的单词 - 后面跟着一个点(
.
) - 后面跟着一个单词(
w+
)
查看此演示并查看(并测试)它匹配的内容。
当然,只需将其放置在notepad++搜索框的查找内容:文本字段中即可。