我有这个 ruby 正则表达式来验证用户是否输入了以逗号分隔的元关键字。
validates_format_of :tags, :with => /^\s*[A-Za-z0-9]+(\s*,\s*[A-Za-z0-9]+)*\s*$/u
我想在这个正则表达式中再添加 2 个条件:
将关键字限制为 4 个关键字。
添加西班牙语字符,例如
ñáéíóú
withp{L}\s\p{N}
如何将这 2 个条件添加到此正则表达式中?谢谢
我有这个 ruby 正则表达式来验证用户是否输入了以逗号分隔的元关键字。
validates_format_of :tags, :with => /^\s*[A-Za-z0-9]+(\s*,\s*[A-Za-z0-9]+)*\s*$/u
我想在这个正则表达式中再添加 2 个条件:
将关键字限制为 4 个关键字。
添加西班牙语字符,例如ñáéíóú
withp{L}\s\p{N}
如何将这 2 个条件添加到此正则表达式中?谢谢
嘿,我认为这个正则表达式可以解决问题。
/^(([^,]+),){0,3}([^,]+)$/
您可以像这样进行验证:
validates_format_of :tags, :with => /^(([^,]+),){0,3}([^,]+)$/
或者用validates
方法
validates :tags, format: {with: /^(([^,]+),){0,3}([^,]+)$/}
两者都会做同样的事情
注意:你应该检查Rubular,它是一个很棒的 Ruby 正则表达式在线编辑器