我找到了一个出色的RegEx来提取camelCase或TitleCase表达的一部分。
(?<!^)(?=[A-Z])
它按预期工作:
值->值
camelValue-> camel / Value
TitleValue->标题/值
例如,使用Java:
String s = "loremIpsum";
words = s.split("(?<!^)(?=[A-Z])");
//words equals words = new String[]{"lorem","Ipsum"}
我的问题是在某些情况下它不起作用:
情况1:VALUE-> V / A / L / U / E
情况2:eclipseRCPExt-> eclipse / R / C / P / Ext
在我看来,结果应该是:
情况1:VALUE
情况2:日食/ RCP /外部
换句话说,给定n个大写字符:
如果n个字符后跟小写字符,则组应为:(n-1个字符)/(第n个字符+小写字符)
如果n个字符位于末尾,则该组应为:(n个字符)。
关于如何改善此正则表达式的任何想法吗?
拉风的咖菲猫
狐的传说
斯蒂芬大帝
相关分类