Another solution inspired by https://github.com/Rdatatable/data.table/issues/5020#issuecomment-917486693
DT[, c(sing, reg), env = list(sing = as.list(setNames(nm = names(DT[,.(a)]))),
reg = as.list(setNames(nm = names(DT[, x:y]))))]