Ruby正则表达式验证?

Gen*_*l_9 3 ruby regex ruby-on-rails

在Rails应用程序中,我在下面有这个当前的Regex验证器:

validates :characters, format: {with: /\A(([a-z0-9])+(-?[a-z0-9]+)*\s?)+\Z/, message: "can't be blank. Characters can only be [a-z 0-9 . # - +]" }
Run Code Online (Sandbox Code Playgroud)

我对字符的验证最初只允许使用小写字母和数字.现在我想允许额外的角色.# - +我现在如何构建我的正则表达式?

Sah*_*har 6

根据你的问题,如果你想允许az,0-9和.# - +只有正则表达式将是:

/[a-z0-9.#+\-]/ 并且您的验证将如下所示:

validates :characters, format: {with: /[a-z0-9.#+\-]/, message: "can't be blank. Characters can only be [a-z 0-9 . # - +]" }
Run Code Online (Sandbox Code Playgroud)

你甚至可以在http://rubular.com/上试试.imho这是红宝石正则表达式的最佳去处.