RegEx para dividir camelCase o TitleCase (avanzado)
Encontre un Brillante RegEx para extraer la parte de una expresión camelCase o TitleCase.
(?<!^)(?=[A-Z])
Funciona como se esperaba:
value -> valuecamelValue -> camello / ValorTitleValue -> Título / ValorPor ejemplo con Java:
String s = "loremIpsum";
words = s.split("(?<!^)(?=[A-Z])");
//words equals words = new String[]{"lorem","Ipsum"}
Mi problema es que no funciona en algunos casos:
Caso 1: VALOR -> V / A / L / U / ECase 2: eclipseRCPExt -> eclipse / R / C / P / ExtEn mi opinión, el resultado debería ser:
Caso 1: VALORCase 2: eclipse / RCP / Extn otras palabras, dados n caracteres en mayúscula:
si los caracteres n son seguidos por caracteres en minúscula, los grupos deben ser: (n-1 caracteres) / (n-ésimo carácter + caracteres más bajos)si los n caracteres están al final, el grupo debería ser: (n caracteres).¿Alguna idea sobre cómo mejorar esta expresión regular?