xx <- c("abc-def]", "Radio Stations-Listened to Past Week-Toronto [FM-CFXJ-93.5 (93.5 The Move)]","Total Internet-Time Spent Online-Past 7 Days")
pattern <- "\\[[^][]*](*SKIP)(*FAIL)|-"
strsplit(xx, pattern, perl=TRUE)
pattern_recursive <- "(\\[(?:[^][]++|(?1))*])(*SKIP)(*FAIL)|-"
xx2 <- c("Radio Stations-Listened to Past Week-Toronto [[F[M]]-CFXJ-93.5 (93.5 The Move)]","Total Internet-Time Spent Online-Past 7 Days")
strsplit(xx2, pattern_recursive, perl=TRUE)
eHggPC0gYygiYWJjLWRlZl0iLCAiUmFkaW8gU3RhdGlvbnMtTGlzdGVuZWQgdG8gUGFzdCBXZWVrLVRvcm9udG8gW0ZNLUNGWEotOTMuNSAoOTMuNSBUaGUgTW92ZSldIiwiVG90YWwgSW50ZXJuZXQtVGltZSBTcGVudCBPbmxpbmUtUGFzdCA3IERheXMiKQpwYXR0ZXJuIDwtICJcXFtbXl1bXSpdKCpTS0lQKSgqRkFJTCl8LSIKc3Ryc3BsaXQoeHgsIHBhdHRlcm4sIHBlcmw9VFJVRSkKCnBhdHRlcm5fcmVjdXJzaXZlIDwtICIoXFxbKD86W15dW10rK3woPzEpKSpdKSgqU0tJUCkoKkZBSUwpfC0iCnh4MiA8LSBjKCJSYWRpbyBTdGF0aW9ucy1MaXN0ZW5lZCB0byBQYXN0IFdlZWstVG9yb250byBbW0ZbTV1dLUNGWEotOTMuNSAoOTMuNSBUaGUgTW92ZSldIiwiVG90YWwgSW50ZXJuZXQtVGltZSBTcGVudCBPbmxpbmUtUGFzdCA3IERheXMiKQpzdHJzcGxpdCh4eDIsIHBhdHRlcm5fcmVjdXJzaXZlLCBwZXJsPVRSVUUp