【发布时间】:2020-05-19 13:03:45
【问题描述】:
我想替换 sql 查询字符串中的表名。我只想更改表名。我怎么能用正则表达式在java中做到这一点?
我不想使用任何依赖项。
例如,
输入:
select ... from table1 where/etc ....
预期输出:
select ... from UPDATED_TABLE_NAME where/etc ....
【问题讨论】:
-
你能举个例子来说明你正在尝试做什么吗?你只是想在查询中用另一个表名替换一个表名吗?
-
我更新了问题
-
对查询的外观是否有任何限制? SQL 查询可能非常复杂,如果没有额外的约束,编写正则表达式将非常困难,它只会执行您希望它执行的操作...考虑类似
select foo.x, bar.y, table3.z from (select foo from table1 ) as foo, table2 bar, table3 where foo.z = table3.z and bar.v != "table3"... 你怎么知道你是否应该替换"table3"?你怎么知道你的替代品不会破坏短名?您甚至如何使用正则表达式找到表名在查询中的位置?