请参阅,我有以下简单的正则表达式来验证电子邮件值。
^(|(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6})$
当我运行相同的时候,它有效! http://rubular.com/r/O3EDkx5a8t
请参阅,我有一个包含Name
,Email
列的Excel文件。导入时我需要验证电子邮件ID,否则从导入中跳过这些行。我已完成导入以及除此验证之外的所有内容。
现在,如果我在row["Email"]
变量中有电子邮件值,则假设' abc@gmail.com
'如何验证并确认电子邮件格式正确?
我已经看到使用match
进行字符串匹配的scan
,Regex
方法。但是,我不知道如何适应这种情况。验证时,如果是正确的电子邮件,则应返回true
,否则应返回false
。请帮助:)
答案 0 :(得分:1)
是的,我找到了答案:
2.0.0-p247 :022 > "%_@gmail.com" =~ /^(|(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6})$/
=> nil
2.0.0-p247 :023 > "a@gmail.com" =~ /^(|(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6})$/
=> 0
当Email
合适时,它会返回0
,否则会返回nil
。
谢谢:)