rails验证格式regex在rubular中失败



我正在使用以下正则表达式对rails模型添加验证检查:

validates :reference, :presence => true, :format => { :with => /^[a-zA-Z0-9_. ]*$/i }

此检查将匹配任何非字母数字字符,并忽略下划线和句点。

在rubular.com上测试时,regex无法匹配上述任何模式。相反,使用以下正则表达式进行rubular匹配:

/[^a-zA-Z0-9_. ]/i

有人知道两者之间的差异背后的原因是什么吗?

感谢

^有两种含义。当在括号外使用时,它的意思是"行以开头"。当在括号内使用时,意味着匹配的内容正好相反。我觉得我不清楚:[a-z]会匹配所有小写字母,而[^a-z]会匹配除小写字母之外的任何字母。

最新更新