2023 © RegexOne
邮箱 | Twitter
当你处理 HTML 表单时,使用正则表达式验证表单输入通常很有用。特别是,由于 规范 的复杂性,电子邮件很难正确匹配,我建议使用内置的语言或框架函数,而不是自己编写。但是,使用我们目前学到的知识,可以很容易地构建一个相当健壮的正则表达式,匹配大量常见的电子邮件。
需要注意的一点是,许多人使用 **加号寻址** 用于一次性使用,例如 "[email protected]",它直接到达 "[email protected]",但可以通过额外信息进行过滤。此外,一些域名包含多个部分,例如,你可以在 "hellokitty.hk.com" 注册一个域名,并拥有类似 "[email protected]" 格式的电子邮件,因此在匹配电子邮件的域名部分时需要小心。
下面是一些常见的电子邮件,在本例中,尝试捕获电子邮件的名称,不包括过滤器(+ 字符及其后面的内容)和域名(@ 字符及其后面的内容)。
任务 | 文本 | 捕获组 | |
捕获 | [email protected] | tom | |
捕获 | [email protected] | tom.riddle | |
捕获 | [email protected] | tom.riddle | |
捕获 | [email protected] | tom | |
捕获 | [email protected] | potter | |
捕获 | [email protected] | harry | |
捕获 | [email protected] | hermione |
解答 | 要提取每个电子邮件的开头,我们可以使用一个简单的表达式 ^([\w\.]*),它将匹配以字母数字字符(包括句点)开头的电子邮件。它将匹配文本中到达 "@" 或 "+" 字符之前的部分。 再次强调,你应该使用框架来匹配电子邮件! |