CamelCase正则表达式不占空间

时间:2015-06-23 18:45:35

标签: ruby

我创建了一个regexp以匹配以下scenerios:SomethingCool,HelloWorld,MyNameIsDonato等。但是,它没有考虑空格:

> 'Something Cooler' =~ /([A-Z][a-z0-9]+)+/
 => 0 

那过去了,它不应该通过。空格不是字母数字字符。那么为什么这会通过,我该如何解决呢?

1 个答案:

答案 0 :(得分:2)

您需要将正则表达式锚定到字符串的开头和结尾,或者它只匹配其中一个单词:

^([A-Z][a-z0-9]+)+$

^$分别锚定行的开头和结尾。要锚定到字​​符串的开头和结尾,请使用\A\Z

值得注意的是,如果您尝试在较大的字符串中查找camelcase名称,这将毫无用处。为此,请使用原始正则表达式。