escaping pipe (“|”) in a regex
问题 I have a need to split on words and end marks (punctuation of certain types). Oddly pipe ("|") can count as an end mark. I have code that words on end marks until I try to add the pipe. Adding the pipe makes the strsplit every character. Escaping it causes and error. How can I include the pipe int he regular expression? x <- "I like the dog|." strsplit(x, "[[:space:]]|(?=[.!?*-])", perl=TRUE) #[[1]] #[1] "I" "like" "the" "dog|" "." strsplit(x, "[[:space:]]|(?=[.!?*-\|])", perl=TRUE) #Error: '