可能重复:
用于识别 CamelCased 单词的正则表达式
我正在尝试在文本中检测 CamelCase。在 Rubular 中,我的正则表达式工作正常,但在我的脚本中似乎不起作用。我的正则表达式:http ://rubular.com/r/fbeXAM69dX
我的脚本:recognizers.rb
class NameRecognizer
def recognize(text)
names = text.scan(NameRegex)
th = TagHelper.new
cc = th.isCamelCase?(names)
cc ? (puts "Camel Case detected in '#{text}'") : (puts "No camel case in '#{text}'")
end
end
在另一个文档中,tag_helpers.rb
class TagHelper
def isCamelCase?(value)
value = value.join(' ')
finder = /([A-Z][a-z]+[a-z][A-Z][a-zA-Z]+)/
value.match(finder) ? bool = true : bool = false
end
end
是骆驼案吗?工作但我的正则表达式检测到错误,所以我不得不改变,所以我知道我的正则表达式的问题。如果有人有想法,我有点绝望。
编辑:这是我的测试
Recognizers::NameRecognizer.new.recognize("Camel Case")
Recognizers::NameRecognizer.new.recognize("NewsItalie")
我正在使用 Ruby 1.8.7