Regex in Java verstehen: split ("\ t") vs split ("\\ t") - wann funktionieren beide und wann sollten sie verwendet werden

Ich habe kürzlich herausgefunden, dass ich Regex in meinem Code nicht richtig verwendet habe. Am Beispiel eines tabulatorgetrennten Stringsstr, Ich habe @ benutstr.split("\t"). Jetzt ist mir klar, dass dies falsch ist und ich sollte @ verwenden, um die Registerkarten richtig abzugleichestr.split("\\t").

Jedoch bin ich zufällig auf diese Tatsache gestoßen, als ich nach Regex-Mustern für etwas anderes suchte. Sie sehen, der fehlerhafte Codesplit("\t") hat in meinem Fall ganz gut funktioniert, und jetzt bin ich verwirrt, warum es funktioniert, wenn es der falsche Weg ist, einen regulären Ausdruck für die Übereinstimmung mit dem Tabulatorzeichen zu deklarieren. Daher die Frage, um tatsächlich zu verstehen, wie Regex in Java gehandhabt wird, anstatt nur den Code in Eclipse zu kopieren und sich nicht wirklich darum zu kümmern, warum es funktioniert ...

Auf ähnliche Weise bin ich auf einen Text gestoßen, der nicht nur durch Tabulatoren, sondern auch durch Kommas getrennt ist. Genauer gesagt enthalten die tabulatorgetrennten Listen, die ich analysiere, manchmal "zusammengesetzte" Elemente, die wie folgt aussehen:item1,item2,item3 und ich möchte sie der Einfachheit halber als separate Elemente analysieren. In diesem Fall sollte der entsprechende reguläre Ausdruck wie folgt lauten:line.split("[\\t,]"), oder irre ich mich auch hier ??

Danke im Voraus

Antworten auf die Frage(4)

Ihre Antwort auf die Frage