Noções básicas sobre regex em Java: split ("\ t") vs split ("\\ t") - quando os dois funcionam e quando devem ser usados

Recentemente, descobri que não usei regex corretamente no meu código. Dado o exemplo de uma string delimitada por tabulaçãostrEu tenho usadostr.split("\t"). Agora percebo que isso está errado e, para combinar as guias corretamente, devo usarstr.split("\\t").

No entanto, por acaso, deparei com esse fato por puro acaso, pois estava procurando padrões de expressões regulares para outra coisa. Você vê, o código defeituososplit("\t")está funcionando muito bem no meu caso, e agora estou confuso sobre o porquê de funcionar se for a maneira errada de declarar uma regex para corresponder ao caractere de tabulação. Daí a questão, para realmente entender como o regex é tratado em Java, em vez de apenas copiar o código no Eclipse e não se importar com o porquê de funcionar ...

De maneira semelhante, encontrei um pedaço de texto que não é apenas delimitado por tabulação, mas também delimitado por vírgula. De forma mais clara, as listas delimitadas por tabulações que estou analisando às vezes incluem itens "compostos" que se parecem com:item1,item2,item3 e gostaria de analisá-los como elementos separados, por uma questão de simplicidade. Nesse caso, a expressão de expressão regular apropriada deve ser:line.split("[\\t,]"), ou estou enganado aqui também?

Desde já, obrigado,

questionAnswers(2)

yourAnswerToTheQuestion