所谓Camel Case指的是若干个单词连接成一个字符串,每个word通过大写首字母的方式来区分。标准的Camel Case字符串,如"CamelCase","SquashOurMethodNamesTogetherLikeThis"。
此外我们还经常与遇到一些非标准的Camel Case字符串,如:"UPPER2000UPPER","hasABREVIATIONEmbedded","Client2Server2012"
在进行文本分析的时候,我们通常希望能够将Camel Case字符串的单词切分出来。
这里我们提供两个regex表达式,能够实现Camel Case字符串的切分。
String[] words = word.split( "(?<!^)(?=[A-Z])" ); String[] words = word.split("(?<!(^|[A-Z0-9]))(?=[A-Z0-9])|(?<!(^|[^A-Z]))(?=[0-9])|(?<!(^|[^0-9]))(?=[A-Za-z])|(?<!^)(?=[A-Z][a-z])" );
第一个正则表达式只能识别标准的Camel Case字符串
第二个正则表达式能识别标准的Camel Case和非标准的Camel Case