正则表达式 Ruby 在元关键字中具有限制和特殊字符



我有这个 ruby 正则表达式来验证用户是否输入用逗号分隔的元关键字。

validates_format_of :tags, :with => /^s*[A-Za-z0-9]+(s*,s*[A-Za-z0-9]+)*s*$/u

我想在此正则表达式中添加 2 个条件:

  • 将关键字限制为 4 个关键字。

  • 添加西班牙语字符,如带有p{L}sp{N}ñáéíóú

如何将这两个条件添加到此正则表达式中?谢谢

嘿,

我认为这个正则表达式可以解决问题。

/^(([^,]+),){0,3}([^,]+)$/

您可以像这样进行验证:

validates_format_of :tags, :with => /^(([^,]+),){0,3}([^,]+)$/

或者用validates方法

validates :tags, format: {with: /^(([^,]+),){0,3}([^,]+)$/} 

两者都会做同样的事情

注意:您应该检查Rubular,它是一个很棒的Ruby正则表达式在线编辑器

最新更新