Вы должны дважды экранировать строковый литерал.
"\\\\."
Потому что Java интерпретирует строковый литерал "\\."
как \.
, а это не то, что вы ожидаете.
Попробуйте это: System.out.println("\\.")
, и вы увидите то, что вы получите в регулярном выражении.
РЕДАКТИРОВАТЬ: Ваша строка ввода "www.cs.cornell.edu"
. Ты знаешь, что ты делаешь? Возможно, вы пытаетесь разделить на точку (\.
), для которой ее Java-литерал равен "\\."
, как вы ввели.
Может быть, вы пытаетесь сопоставить BACKSLASH, а затем DOT, что означает, что его регулярное выражение равно \\\.
, а его Java-литерал равен "\\\\\\."