Not sure what documentation you're reading, but the Extended Regular Expressions section in ?regex
says:
Most metacharacters lose their special meaning inside a character class. ... (Only '^ - \ ]' are special inside character classes.)
You don't need to create a character class. Just use "or" |
(you likely don't need to group "%in%"
either, but it shouldn't hurt anything):
> strsplit('example%in%aa(bbb)aa@cdef', '(%in%)|@', perl=TRUE)
[[1]]
[1] "example" "aa(bbb)aa" "cdef"