我需要为C#构建一个正则表达式,以捕获select子句中的'from'关键字之后的所有表名。例如如何在C#中使用正则表达式获取所有表名?
.
.
.
SELECT field1, field2
FROM table1
WHERE condition1
.
.
.
SELECT field3, field4
FROM table2
WHERE condition2
.
.
.
里有文件的多个选择条款,我尝试阅读,并且可以有选择之间的任何字符(包括新行,“:”,“_”和其他任何字符) 。 我应该如何构建我的正则表达式以获取所有表名称?
感谢
编辑: 我已经找到一个办法让所有的表名。
\s*SELECT[^;]*FROM\s*(?<key>[^\n]*)
这可能会在某天帮助某人。 感谢
当我尝试'SELECT [\ D | \ d] * FROM(? [^ \ n] *)'时,它发现一个匹配以第一个选择开始并一直延伸到最后一个。我反而希望它匹配所有选择并返回其所有表名。 –
Alpay
给这个网站一试,总是帮我找出RegExes http://regexpal.com/ – Charleh
@Charleh是为JavaScript正则表达式。对于.NET,你应该使用[RegexHero](http://regexhero.net) –