Pattern p = Pattern.compile("(?<!/)/(//)*(?!/)");
Matcher m = p.matcher(inputString);
String outputStr = m.replaceAll("$0$0");
(?<!/)
гарантирует, что перед матчем не будет косых черт; /(//)*
соответствует нечетному числу косых черт; (?!/)
удостоверяетсяпосле совпадения косых черт нет.
Строка замены - $0$0
, которая удваивает совпадающие косые черты.
Я проверял это на ваших входах, и этоработает точно в соответствии с вашей спецификацией.