Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 对电子邮件正则表达式的少量更正_Regex - Fatal编程技术网

Regex 对电子邮件正则表达式的少量更正

Regex 对电子邮件正则表达式的少量更正,regex,Regex,这是我的表情 (\w+\.)*\w+\s*(@|\({1}\s*at\s*\){1}|\s+at\s+){1}\s*(\S{2,3}\.)?(\w+)(\s*dot\s*|\s*\.*\s*)(com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum|ru)\b 给出ombe@cs.name.edu来自l@ombe@cs.name.edu哪个错误 我需要排除l@ombe@cs.name.edu来自可能的变体 作为我家庭作业

这是我的表情

(\w+\.)*\w+\s*(@|\({1}\s*at\s*\){1}|\s+at\s+){1}\s*(\S{2,3}\.)?(\w+)(\s*dot\s*|\s*\.*\s*)(com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum|ru)\b
给出ombe@cs.name.edu来自l@ombe@cs.name.edu哪个错误

我需要排除l@ombe@cs.name.edu来自可能的变体

作为我家庭作业的一部分,我开发了这个正则表达式来从各种模糊的字符串中提取电子邮件,而不是验证。卡在l@ombe@cs.name.edu测试

你能帮帮我吗

再防御:

表达方式:

(\w+)@(\w+)\.name\.edu
2个字符串:

  • name@name1@cs.name.edu
  • name2@cs.name.edu
因此,获得:

name1@cs.name.edu和name2@cs.name.edu


1部分完全不能包含。

您可以使用^和$将正则表达式锚定到字符串的开头和结尾。 这将强制匹配整个字符串,而不是仅匹配其中的一部分

就你而言:

^(\w+\.)*\w+\s*(@|\({1}\s*at\s*\){1}|\s+at\s+){1}\s*(\S{2,3}\.)?(\w+)(\s*dot\s*|\s*\.*\s*)(com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum|ru)\b$

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]) [a-z0-9-9-9 9-a-z0-9-9-9-10 10 10 10 10以下以下以下简称:[a-a-z0-9-9-a-z0-9-10 10-10 10 10 10 10 10 10 10 10 10 10 10 10-9 9-9 9 9 9 5 5 5以下以下简称:[a-a-Z00-9-9-9-9 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-9]、[a-z0-9]、[a-z0-9]、[a-z0-9]、[a-9]、[a-z0-9]、[a-z0]、[a-9]、[a-9]、[a-z0]、[a-z0][\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]
如果某人有一个“.im”地址,或者一个属于您未列出的任何其他TLD的地址,该怎么办?这不是问题,这只是一个简单的方法,我将在以后替换它。电子邮件的正则表达式非常复杂。看,这是一个非常好的验证示例。但对于我的学习之家作业,我开发了一个正则表达式要从各种模糊的字符串中提取电子邮件,我现在就看到了。你还想挑出诸如“at”、“dot”之类的词并理解它们的意思。这是行不通的。例如,\b最后排除了“在超级计算时交谈”从变体中。但不知何故,我无法找到字符串开头的表达式谢谢,好例子。我开发了这个正则表达式,以从各种模糊字符串中提取电子邮件,而不是验证,作为我家庭作业的一部分。坚持下去l@ombe@cs.name.edu测试。