问题 3:匹配电子邮件

当你处理 HTML 表单时,使用正则表达式验证表单输入通常很有用。特别是,由于 规范 的复杂性,电子邮件很难正确匹配,我建议使用内置的语言或框架函数,而不是自己编写。但是,使用我们目前学到的知识,可以很容易地构建一个相当健壮的正则表达式,匹配大量常见的电子邮件。

需要注意的一点是,许多人使用 **加号寻址** 用于一次性使用,例如 "[email protected]",它直接到达 "[email protected]",但可以通过额外信息进行过滤。此外,一些域名包含多个部分,例如,你可以在 "hellokitty.hk.com" 注册一个域名,并拥有类似 "[email protected]" 格式的电子邮件,因此在匹配电子邮件的域名部分时需要小心。

下面是一些常见的电子邮件,在本例中,尝试捕获电子邮件的名称,不包括过滤器(+ 字符及其后面的内容)和域名(@ 字符及其后面的内容)。

练习 3:匹配电子邮件
任务 文本 捕获组  
捕获 [email protected] tom To be completed
捕获 [email protected] tom.riddle To be completed
捕获 [email protected] tom.riddle To be completed
捕获 [email protected] tom To be completed
捕获 [email protected] potter To be completed
捕获 [email protected] harry To be completed
捕获 [email protected] hermione To be completed
解答

要提取每个电子邮件的开头,我们可以使用一个简单的表达式 ^([\w\.]*),它将匹配以字母数字字符(包括句点)开头的电子邮件。它将匹配文本中到达 "@" 或 "+" 字符之前的部分。

再次强调,你应该使用框架来匹配电子邮件!

解决上述任务以继续下一个问题,或阅读 解答