Here are some approaches. No packages are used.
1) sub Match everything to the minus space and then capture everything up to but not including the @:
sub(".*- (.*)@.*", "\\1", node)
## [1] "UAT_jvm1[mainnetwork-cmod_svc_group_mem1]"
2) sub/read.table Replace the first - with an @ and then read the string picking out the second field.
read.table(text = sub("-", "@", node), sep = "@", as.is = TRUE, strip.white = TRUE)[[2]]
## [1] "UAT_jvm1[mainnetwork-cmod_svc_group_mem1]"
3) gsub Remove everything up to the minus space and everything from @ onwards:
gsub("^.*- |@.*", "", node)
## [1] "UAT_jvm1[mainnetwork-cmod_svc_group_mem1]"