【发布时间】:2016-12-16 23:11:47
【问题描述】:
我正在尝试用 RUBY 编写一个函数,该函数将确定给定字符串是否是有效的车牌。有效的车牌格式如下:3 个大写字母,后跟一个破折号,后跟 4 个数字。例如:HES-2098.
我编写了以下函数,但需要一些关于模式匹配的帮助。
def liscence()
plate = "HES-2098"
plateNo = plate.upcase
if(plate.length == 8)
if(plate == plateNo)
if(/\A-Z\A-Z\A-Z\-\d{4}/.match(plate))
puts "valid"
else
puts "invalid"
end
else
puts "First 3 letter must be uppercase"
end
else
puts "Only 8 char long"
end
end
liscence()
【问题讨论】:
-
if(/\A[A-Z]{3}-[0-9]{4}\z/.match(plate)) -
谢谢!解决了我的问题
-
我发布了带有解释和演示的模式。
-
Rubular 是你的朋友。见rubular.com/r/9Kn4fk96ci
标签: ruby regex pattern-matching