Manipulando o delimitador com caracteres de escape no método Java String.split ()

Eu procurei na web por minha consulta, mas não obtive a resposta que se encaixa exatamente na minha solicitação. Eu tenho minha string como abaixo:

A|B|C|The Steading\|Keir Allan\|Braco|E

Minha saída deve se parecer abaixo:

A
B
C
The Steading|Keir Allan|Braco
E

Minha exigência é pular o delimitador se ele for precedido pela seqüência de escape. Eu tentei o seguinte usando lookbehinds negativos emString.split():

(?<!\\)\|

Mas, meu problema é que o delimitador será definido pelo usuário final dinamicamente e não precisa ser sempre|. Pode ser qualquer caractere no teclado (sem restrições). Portanto, minha dúvida é que a regex acima pode falhar em alguns dos caracteres especiais que não são permitidos na regex.

Eu só queria saber se essa é a maneira perfeita de fazer isso.

questionAnswers(2)

yourAnswerToTheQuestion