相关疑难解决方法(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万
查看次数

Python:使用RegEx将camel case转换为空格并考虑缩略语

我试图使用python将camel case转换为空格分隔值.例如:

divLineColor - > div Line Color

这条线成功地做到了:

label = re.sub("([A-Z])"," \g<0>",label)
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是simpleBigURL他们应该这样做:

simpleBigURL - >简单的大URL

我不完全确定如何得到这个结果.救命!


这是我尝试过的一件事:

label = re.sub("([a-z])([A-Z])","\g<0> \g<1>",label)
Run Code Online (Sandbox Code Playgroud)

但这会产生奇怪的结果,如:

divLineColor - > divL vineC eolor

我也在想使用它(?!...)可以工作,但我没有运气.

python regex

20
推荐指数
3
解决办法
9990
查看次数

使用正则表达式拆分CamelCase

我有这个代码通过正则表达式分割CamelCase:

Regex.Replace(input, "(?<=[a-z])([A-Z])", " $1", RegexOptions.Compiled).Trim();
Run Code Online (Sandbox Code Playgroud)

但是,它没有正确拆分: ShowXYZColours

它生产Show XYZColours而不是Show XYZ Colours

我如何获得所需的结果?

c# regex camelcasing

10
推荐指数
2
解决办法
3876
查看次数

标签 统计

regex ×3

camelcasing ×2

c# ×1

java ×1

python ×1

title-case ×1