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 символов).Любая идея о том, как улучшить это регулярное выражение?