ruby-on-rails - 指令“name =~ /[AZ].*/”是什么意思?
问题描述
我正在研究 ruby on rails 并且正在查看代码,但我无法理解它实际上是如何工作的。
''''红宝石
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
解决方案
该代码基本上是使用正则表达式检查字符串是否应包含大写的第一个字母
解释:
/[A-Z].*/
[A-Z]
- 检查从 A 到 Z 的任何大写字母.
- 检查任何通配符*
- 匹配 0 到任意数量的重复。
总结一下
输入字符串应符合以下格式 - 来自 AZ 的大写字母,然后应包含 0 到任意数量的通配符
您可以在Rubular上查看
编辑
正如@vasfed 所指出的,如果您想匹配正则表达式需要更改为的第一个字符
/\A[A-Z].*/
\A
- 确保字符串的开始
推荐阅读
- gremlin - 是否有用于在搜索结果中突出显示搜索词的 gremlin 符号?
- spring-boot - 缩放消费者@StreamListener
- google-cloud-data-fusion - 如何安排谷歌数据融合管道?
- react-native-android - 下拉列表中未选择值,为什么?
- python - 数据库只能通过jumphost访问时如何通过Python连接MySQL
- python - 将多个嵌套文件变成一个文件(连接它们)
- javascript - 如何在不离开页面的情况下通过单击按钮显示 php 响应?
- java - java - 如何在Java swing中用背景色填充整个面板?
- c# - 从 azure 函数连接到 Azure 数据湖 Gen 2
- primeng - Primeng 多选需要带有“全选”文本的全选复选框