相关疑难解决方法(0)

RegEx分裂camelCase或TitleCase(高级)

我找到了一个出色的RegEx来提取camelCase或TitleCase表达式的一部分.

 (?<!^)(?=[A-Z])
Run Code Online (Sandbox Code Playgroud)

它按预期工作:

  • 价值 - >价值
  • camelValue - >驼峰/价值
  • TitleValue - >标题/价值

例如使用Java:

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

我的问题是它在某些情况下不起作用:

  • 案例1:VALUE - > V/A/L/U/E.
  • 案例2:eclipseRCPExt - > eclipse/R/C/P/Ext

在我看来,结果应该是:

  • 案例1:价值
  • 案例2:eclipse/RCP/Ext

换句话说,给定n个大写字符:

  • 如果n个字符后跟小写字符,则组应为:(n-1个字符)/(第n个字符+低字符)
  • 如果n个字符在末尾,则该组应为:(n个字符).

关于如何改进这个正则表达式的任何想法?

java regex title-case camelcasing

76
推荐指数
5
解决办法
4万
查看次数

标签 统计

camelcasing ×1

java ×1

regex ×1

title-case ×1