Понимание регулярных выражений в Java: split («\ t») против split («\\ t») - когда они оба работают и когда их следует использовать

Недавно я понял, что я не использую регулярные выражения в моем коде должным образом. Приведенный пример строки с разделителями табуляцииstrЯ используюstr.split("\t"), Теперь я понимаю, что это неправильно, и для правильного соответствия вкладок я должен использоватьstr.split("\\t").

Однако я случайно наткнулся на этот факт по чистой случайности, поскольку искал шаблоны регулярных выражений для чего-то другого. Вы видите, неисправный кодsplit("\t")в моем случае работал довольно хорошо, и теперь я не понимаю, почему это работает, если это неправильный способ объявления регулярного выражения для соответствия символу табуляции. Отсюда вопрос, чтобы понять, как на самом деле обрабатывается регулярное выражение в Java, а не просто копировать код в Eclipse и не заботиться о том, почему он работает ...

Подобным образом я натолкнулся на фрагмент текста, который не только разделен табуляцией, но и запятыми. Проще говоря, списки, разделенные табуляцией, которые я анализирую, иногда содержат «составные» элементы, которые выглядят так:item1,item2,item3 и я хотел бы проанализировать их как отдельные элементы, для простоты. В этом случае соответствующее выражение регулярного выражения должно быть:line.split("[\\t,]")или я тут тоже ошибаюсь ??

Заранее спасибо,

Ответы на вопрос(2)

Ваш ответ на вопрос