Yol*_*ola 1 regex erlang email-validation
我尝试过以下代码,但它给了我无与伦比的代码.
re:run("qw@qc.com", "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b").
Run Code Online (Sandbox Code Playgroud)
regexp我来到这里http://www.regular-expressions.info/email.html
编辑:下一步不起作用
re:run("345345", "\b[0-9]+\b").
Run Code Online (Sandbox Code Playgroud)
如果您在字符串中收到电子邮件,那么该字符串将匹配
re:run("qw@qc.com", "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$").
Run Code Online (Sandbox Code Playgroud)
我不愿回答这个问题,因为我认为它依赖于一个不正确的假设 - 你可以用正则表达式确定一个电子邮件地址是否有效.有关详细信息,请参阅此问题 ; 从短暂的一瞥,我注意到你的问题中的正则表达式不接受.museum和.рф顶级域名.
也就是说,你需要逃避反斜杠.您希望字符串包含反斜杠,但在Erlang中,在字符串内部使用反斜杠来转义各种字符,因此需要将任何文字反斜杠写为\\.试试这个:
3> re:run("qw@qc.com", "\\b[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}\\b").
{match,[{0,9}]}
Run Code Online (Sandbox Code Playgroud)
或者更好,这个:
8> re:run("qw@qc.com", "\\b[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*\\b").
{match,[{0,9}]}
Run Code Online (Sandbox Code Playgroud)
这是HTML 5标准中使用的正则表达式,修改为使用\\b而不是^和$.