“ name =〜/[A-Z].*/”指令是什么?

时间:2019-04-02 13:41:20

标签: ruby-on-rails

我正在研究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

1 个答案:

答案 0 :(得分:1)

代码基本上是使用正则表达式

检查字符串是否应包含大写字母的第一个字母

说明:

/[A-Z].*/
  • [A-Z]-检查从A到Z的任何大写字母
  • .-检查任何通配符
  • *-匹配0到任意数量的重复。

总结

输入字符串应与以下格式匹配-A-Z的大写字母,然后应为0至任意数量的通配符

您可以在Rubular

上进行检查

编辑

@vasfed指出,如果要匹配第一个字符,则需要将正则表达式更改为

/\A[A-Z].*/

\A-确保字符串的开头