Я хочу найти регулярное выражение, чтобы найти значение originaldbname в следующем запросе, где tablename будет передано в качестве аргумента.Является ли это возможным.Перепробовал много вещей, но теперь работает.
REPLACE WITH viewdbname.tablename as locking row for access select * from originaldbname.tablename
.
edit: я запускаю нижеприведенную программу со значением оригинала.
String query = "REPLACE WITH viewdbname.tablename as locking row for access select * from original.tablename";
Pattern p=Pattern.compile("from\\s+(?:\\w+\\.)*(\\w+)($|\\s+[WHERE,JOIN,START\\s+WITH,ORDER\\s+BY,GROUP\\s+BY])",Pattern.CASE_INSENSITIVE);
Matcher m=p.matcher(query);
while(m.find()) System.out.println(m.group(1));
//But it is returning me tablename... I want to get "original" as output.