strsplit con barra vertical (tubería)

Aquí,

> r<-c("AAandBB", "BBandCC")
> strsplit(as.character(r),'and')
[[1]]
[1] "AA" "BB"

[[2]]
[1] "BB" "CC"

Trabajando bien, pero

> r<-c("AA|andBB", "BB|andCC")
> strsplit(as.character(r),'|and')
[[1]]
[1] "A" "A" "|" ""  "B" "B"

[[2]]
[1] "B" "B" "|" ""  "C" "C"

Aquí, la respuesta no es correcta. ¿Cómo obtener "AA" y "BB" cuando uso '| y'?
Gracias por adelantado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta