在 Rails 应用程序中,我在下面有这个当前的正则表达式验证器:
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 . # - +]" }
我对 Characters 的验证最初只允许小写字母和数字。现在我想允许额外的字符。# - +我现在如何构建我的正则表达式?
在 Rails 应用程序中,我在下面有这个当前的正则表达式验证器:
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 . # - +]" }
我对 Characters 的验证最初只允许小写字母和数字。现在我想允许额外的字符。# - +我现在如何构建我的正则表达式?
根据您的问题,如果您想允许 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 . # - +]" }
您甚至可以在http://rubular.com/上尝试一下。恕我直言,这是 ruby 正则表达式的最佳去处。