有人可以帮我写一下validates_format_of的正则表达式。
如果存在
< > $ \ any_non_printable_character中的任何一个,它将失败。
感谢。
答案 0 :(得分:2)
这样的东西适用于Ruby 1.9:
/\A[^<>\\$\p{^Print}]*\z/
这将匹配任何不包含您的错误字符的内容,因此应该在验证中很好地工作。这也会匹配空字符串,因此您可以使用+
代替*
或添加长度或present?
检查是否要排除''
。
答案 1 :(得分:0)
不知道Ruby,但对于Perl,......以下内容可行:
if(/(:?[<>\$]|[^[:print:]])/){...}
在Python中,awk,sed,......它看起来或多或少都是一样的。所以希望这对Ruby有帮助。