我创建了一个regexp以匹配以下scenerios:SomethingCool,HelloWorld,MyNameIsDonato等。但是,它没有考虑空格:
> 'Something Cooler' =~ /([A-Z][a-z0-9]+)+/
=> 0
那过去了,它不应该通过。空格不是字母数字字符。那么为什么这会通过,我该如何解决呢?
答案 0 :(得分:2)
您需要将正则表达式锚定到字符串的开头和结尾,或者它只匹配其中一个单词:
^([A-Z][a-z0-9]+)+$
^
和$
分别锚定行的开头和结尾。要锚定到字符串的开头和结尾,请使用\A
和\Z
。
值得注意的是,如果您尝试在较大的字符串中查找camelcase名称,这将毫无用处。为此,请使用原始正则表达式。