【问题标题】:/\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/ Meaning?/\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/ 是什么意思?
【发布时间】:2017-08-11 07:34:11
【问题描述】:
谁能解释一下
validates_format_of: :email, with: /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/
我知道这是一个电子邮件验证,但它的分解是什么?
如何检查 Youtube 视频的格式是否正确?
谢谢!
【问题讨论】:
标签:
ruby-on-rails
validation
model
【解决方案1】:
这是简单的正则表达式:
电子邮件示例:some@email.com
\A
在字符串的开头断言位置
\A[^@\s]+
匹配 1 到无限个字符,不包含空格。 (\s)
这将在这里匹配:“一些”
@
只匹配@。
([^@\s]+\.)+
匹配 1 到无限个字符,不带 @ 或空格,但带有 1 个或多个“.”
这里:“电子邮件。”
[^@\s]+
匹配 1 到无限个字符,不带 @ 或空格
这里:“com”
\z
在字符串末尾断言位置
您可以使用此正则表达式验证 YouTube 视频网址:
^(https?\:\/\/)?(www\.)?(youtube\.com|youtu\.?be)\/.+$