我的问题对你们中的许多人来说应该很简单假设我有以下 SQL,我想使用正则表达式获取表名:
SELECT name, age FROM table1
使用这个表达式我可以得到
Pattern p = Pattern.compile(".*FROM\\s+(.*?)($|\\s+[WHERE,JOIN,START\\s+WITH,ORDER\\s+BY,GROUP\\s+BY])", Pattern.CASE_INSENSITIVE);
Matcher result = p.matcher(pSql);
if (result.find()) {
lRetorno = result.group(1);
}
但是,如果表名包含模式名称 (xyz.table1),我的表达式会带来一切。我的问题是......我需要对此查询进行什么修改才能只返回没有架构/所有者的表名?
任何帮助都会非常感激
拉斐尔·莫伊塔