我正在研究Rails上的ruby,并且看到了一个代码,但是我不明白它的实际工作原理。
''''红宝石
validate: first_letter_must_be_uppercase
private
def first_letter_must_be_uppercase
errors.add ("name", "first letter must be uppercase") unless name =~ /[A-Z].*/
end
答案 0 :(得分:1)
代码基本上是使用正则表达式
检查字符串是否应包含大写字母的第一个字母说明:
/[A-Z].*/
[A-Z]
-检查从A到Z的任何大写字母.
-检查任何通配符*
-匹配0到任意数量的重复。总结
输入字符串应与以下格式匹配-A-Z的大写字母,然后应为0至任意数量的通配符
您可以在Rubular
上进行检查编辑
@vasfed指出,如果要匹配第一个字符,则需要将正则表达式更改为
/\A[A-Z].*/
\A
-确保字符串的开头