RegEx для разделения CamelCase или TitleCase (дополнительно)

Я нашелблестящий RegEx извлечь часть выражения camelCase или TitleCase.

 (?<!^)(?=[A-Z])

Работает как положено:

значение -> значениеcamelValue -> верблюд / ЗначениеTitleValue -> Title / Value

Например с Java:

String s = "loremIpsum";
words = s.split("(?<!^)(?=[A-Z])");
//words equals words = new String[]{"lorem","Ipsum"}

Моя проблема в том, что он не работает в некоторых случаях:

Случай 1: ЗНАЧЕНИЕ -> V / A / L / U / EСлучай 2: eclipseRCPExt -> eclipse / R / C / P / Ext

На мой взгляд, результат должен быть:

Случай 1: ЗНАЧЕНИЕСлучай 2: затмение / RCP / Ext

Другими словами, учитывая n заглавных букв:

если после n символов следуют символы нижнего регистра, группы должны быть: (n-1 символ) / (n-й символ + нижний символ)если n символов в конце, группа должна быть: (n символов).

Любая идея о том, как улучшить это регулярное выражение?

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

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