Недавно я выяснил, что я неправильно использовал регулярное выражение в своем коде. На примере строки с разделителями табуляции str
я использовал str.split("\t")
. Теперь я понимаю, что это неправильно, и чтобы правильно соответствовать вкладкам, я должен использовать str.split("\\t")
.
Однако я случайно наткнулся на этот факт, так как я искал шаблоны регулярных выражений для чего-то другого. Видишь ли, в моем случае дефектный код split("\t")
работает довольно хорошо, и теперь я смущен тем, почему он работает, если это неправильный способ объявить регулярное выражение для соответствия символу табуляции. Следовательно, вопрос, ради того, чтобы понять, как regex обрабатывается на Java, вместо того, чтобы просто копировать код в Eclipse и не заботиться о том, почему он работает...
Аналогичным образом я натолкнулся на фрагмент текста, который не ограничивается только табуляцией, но также разделен запятой. Более ясно, что таблицы с разделителями табуляции, которые я анализирую, иногда включают "составные" элементы, которые выглядят следующим образом: item1,item2,item3
, и я хотел бы проанализировать их как отдельные элементы для простоты. В этом случае соответствующее выражение регулярного выражения должно быть: line.split("[\\t,]")
, или я тоже ошибаюсь здесь?
Спасибо заранее,