df <- structure(list(t1 = c("Book (Pg 1)", "(Website) Online)", "Journal: 2018)", "Book1 (pg 2) book 3 (pg4) something)")), class = "data.frame", row.names = c(NA, -4L)) gsub("\\([^()]*\\)(*SKIP)(*F)|[()]", "", df$t1, perl=TRUE) # => [1] "Book (Pg 1)" "(Website) Online" # => [3] "Journal: 2018" "Book1 (pg 2) book 3 (pg4) something"