通过正则表达式从SQL语句获取表名

时间:2015-09-11 05:04:10

标签: regex plsql

我试图通过下面的正则表达式在PL / SQL语句中提到所有表名。它有一定的作用,并给我表名。但在下面的场景中的问题。

(?<=from|join)\s+(\w+)(,\s*(\w+))?(?:(\s*\w+,\s*(\w+))+)? 


SELECT DISTINCT *
         FROM  table1 t1, table2 t2, table3 t3,table4 t4
WHERE t3.signature_id IS NULL

它只给我table1和table4其他人没有得到正则表达式。我认为(,\s*(\w+))中的问题不能递归地查找和匹配那些表语句。我的问题是如何获取table1,table2,table3和table4的所有名称?

0 个答案:

没有答案