我需要一个正则表达式来从如下表达式中提取表名和别名:
INNER JOIN dbo.table1 t ON t.x = table n.y
INNER JOIN table2 on table2.x = table n.y
INNER JOIN table3 t3 on t3.x = tablen.y
从上面的查询中,我想捕获:
(Table Name, Alias)
table1, t
table2, " " <-- No alias specified so blank or null
table3, t3
请注意,指定表的方法有以下几种:
- 有或没有所有者,例如 dbo.table1
- 有或没有别名
无论如何,我只关心表名和别名。
万一有所不同,查询将针对 SQL Server 数据库,我将在 C# 应用程序中使用它。
我熟悉遍历 Regex Match Collection 的 Matches 以及 RegEx 组。我只是在使用正确的 RegEx 表达式而苦苦挣扎。