用于在C#中解析SQL查询的RegEx

Toy*_*Toy 2 c# regex sql

我需要在C#中编写RegEx来解析以字符串形式给出的SQL连接查询.有人可以帮助我,因为我是新手.非常感谢

这是我的问题:

string query = @"SELECT table1.column1, table1.column2, table2.coulmn1, table2.column2
                 FROM table1 INNER JOIN table2 ON table1.column5 = table2.column5";
Run Code Online (Sandbox Code Playgroud)

我真正需要的是将所有重要数据放入单独的变量中,如下所示:

string class1 = table1    
string class2 = table2    
string joinForeignKey1 = table1.column5    
string joinForeignKey2 = table2.column5    
List<string> attributes1 = table1.column1, table1.column2    
List<string> attributes2 = table2.column1, table2.column2
Run Code Online (Sandbox Code Playgroud)

//评论

我意识到我在sql查询中犯了一个错误,所以会有一个ON子句.

我可以强制用户为我提供正确的语法,这样就没问题了.

我没有提到的是,可以有多个JOIN ON子句(多个连接).

非常感谢,我将感激任何给予的帮助.

Cra*_*ntz 5

从评论中删除它,因为我认为这是正确的答案:

SQL在你不应该尝试使用正则表达式进行解析的列表中排名第3,仅仅落后于HTMLMUMPS.使用特定于方言的专用SQL解析器,而不是正则表达式.