上下骆驼箱

时间:2013-09-26 07:22:45

标签: regex camelcasing

我正在努力为上下Camel案例提出一个正则表达式。

这是我试过的

(([A-Z][a-z0-9]*){2,}|([a-z][A-Z0-9]*){2,})

尝试将上骆驼的情况与此相匹配 - ([A-Z] [a-z0-9] ){2,}但它也与其他组合相匹配。 类似的是第二部分 - ([a-z] [A-Z0-9] ){2,}}

2 个答案:

答案 0 :(得分:3)

这将匹配单词中包含至少一个大写的上下骆驼案例短语。

上层驼峰案例

[A-Z][a-z0-9]*[A-Z0-9][a-z0-9]+[A-Za-z0-9]*

示例:HelloWorld,AQuickBrownFox

降低驼峰情况

[a-z]+[A-Z0-9][a-z0-9]+[A-Za-z0-9]*

示例:helloWorld,aQuickBrownFox

答案 1 :(得分:0)

对于lowerCamelCase,您需要:

  1. lowerCaseLetter
  2. 至少一个(lowerCaseLetter或UpperCaseLetter或numb3r)
  3. 所以一个适当的正则表达式将是

    [a-z][a-zA-Z0-9]+
    

    同样对于UpperCamelCase,您将拥有[A-Z][a-zA-Z0-9]+,如果您对这些进行分组,则会获得

    [a-zA-Z][a-zA-Z0-9]+
    

    编辑:如果您严格要求将单词作为骆驼案例单词,则需要注意“驼峰”,其中驼峰是大写字母或数字,您需要:

    1. 大写或小写字母,后跟
    2. 其他小写字母(可能没有),后跟
    3. 驼峰,然后是
    4. 其他小写字母(可能没有),
    5. 可能跟着另一个驼峰
    6. 然后你的正则表达式是:

      [a-zA-Z][a-z]*([A-Z0-9]+[a-z]*)+
      

      Regex fiddle