使用 re 验证电子邮件地址
任务
文本处理 / 正则表达式 / 验证电子邮件地址
使用的 Opam 包
- re 测试版本:1.11.0 — 使用的库:re
代码
用于测试的示例数据数组。
let emails =
[| "[email protected]"
; "notAnEmail@jkorg"
; "[email protected]"
; "[email protected]"
; "[email protected]"
|]
使用 re
包中的 Re
模块,我们创建一个 Perl
风格的正则表达式并进行 编译
。
let validate_email_re =
Re.Perl.re "[a-zA-Z0-9.$_!]+@[a-zA-Z0-9]+\\.[a-z]{2,3}"
|> Re.compile
使用 Re.execp
函数,我们检查给定的 regex
是否匹配该 email
。
let validate_email regex email =
if Re.execp regex email
then Printf.printf "%s has a valid email format\n" email
else Printf.printf "%s has an invalid email format\n" email
让我们通过将 (validate_email validate_email_re)
返回的函数映射到 emails
数组上来测试它。
let () =
print_endline "Email Verification Results:";
emails
|> Array.map (validate_email validate_email_re)
现在,我们检查电子邮件中的特定顶级域名。请注意模式末尾的 |
运算符(正则表达式 OR)
let validate_email_domain_re =
Re.Perl.re "[a-zA-Z0-9.$_!]+@[a-zA-Z0-9]+\\.[com|org|edu|io|gov|me]"
|> Re.compile
让我们通过将 (validate_email validate_email_domain_re)
返回的函数映射到 emails
数组上来测试它。
let () =
print_endline "Email Verification Results:";
emails
|> Array.map (validate_email validate_email_domain_re)