我写了我的第一个正则表达式和一个if
条件来检查传递的def
参数循环。它似乎无法正常工作,我猜我的正则表达式有问题。条件运行,但它说当它匹配我想要的模式时,该值与正则表达式不匹配,反之亦然。
我需要的模式是这样的123456_12345_ABC_123
::
6 digits
underscore
5 digits (may include 0 padding)
underscore
3 upper case letters
underscore
3 digits (may include 0 padding)
这是我的代码:
if ev_val.match(/[0-9]{6}(_)[0-9]{5}(_)[a-z]{3}(_)[0-9]{3}/)
puts "#{ev_val} matches required batch naming convention"
else
puts "#{ev_val} doesn't match required batch naming convention\nSTOPPING SCRIPT!!!"
exit
end
如果有人有任何想法,我将不胜感激!