正则表达式将PascalCase字符串拆分为单独的单词

时间:2017-08-15 19:53:50

标签: regex

以前将PascalCase字符串拆分为单独的单词我使用下面的正则表达式:

(.)([A-Z]|\d+)

这适用于Photo100PhotoMaxPhotoMaxOrig等输入。但是当面对像Photo100Orig之类的字符串时,我上面的正则表达式不会将该字符串分成三部分。

如何更优雅地修改我的正则表达式以支持Photo100Orig等字符串?

1 个答案:

答案 0 :(得分:0)

假设C#为您的语言,

What if all the entries are the same?

test <- c("abc","abc","abc")

special(test)
#Error: node stack overflow

可以在

中使用
var pattern = @"(?<!^)(?=[A-Z]|(?<!\d)\d)";

获取单词组件的数组。