首页 > 解决方案 > ROR 正则表达式。我正在尝试验证字符串中的第一个和第四个字符是不是 0 或 1 的任何数字

问题描述

我在 google 或 SO 上找不到解决方案

这适用于第一个字符

validates :number, format: { with: /\A[2-9]/ }

这适用于第四个字符

validates :number, format: { with: /\A...[2-9]/ }

但是对于我的一生,我无法弄清楚如何合并这些以验证两者。请帮忙

标签: ruby-on-railsregexruby

解决方案


利用

validates :number, format: { with: /\A[2-9].{2}[2-9]/m }

解释

--------------------------------------------------------------------------------
  \A                       the beginning of the string
--------------------------------------------------------------------------------
  [2-9]                    any character of: '2' to '9'
--------------------------------------------------------------------------------
  .{2}                     any character (2 times)
--------------------------------------------------------------------------------
  [2-9]                    any character of: '2' to '9'

推荐阅读