Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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
String 需要语法将后缀字符串验证添加到电子邮件地址格式验证正则表达式_String_Vbscript_Regex Negation - Fatal编程技术网

String 需要语法将后缀字符串验证添加到电子邮件地址格式验证正则表达式

String 需要语法将后缀字符串验证添加到电子邮件地址格式验证正则表达式,string,vbscript,regex-negation,String,Vbscript,Regex Negation,我有一个现有的电子邮件地址验证正则表达式,正在寻找一个额外的正则表达式函数,如果示例以.ocm 此请求的原因是提供额外的数据输入验证,以防止我们遇到的最常见打字错误:.ocm而不是.com 例如,blah@somewhere.com应返回匹配项,但blah@somewhere.ocm不应该 恐怕我不知道我使用的是什么风格的正则表达式,因为它是在一个黑盒专有应用程序中,“接受正则表达式”进行用户输入验证。我知道应用程序可能是用VB6编写的,如果这有帮助的话 以下是现有的正则表达式,它可以很好地实现

我有一个现有的电子邮件地址验证正则表达式,正在寻找一个额外的正则表达式函数,如果示例以.ocm
此请求的原因是提供额外的数据输入验证,以防止我们遇到的最常见打字错误:.ocm而不是.com

例如,
blah@somewhere.com
应返回匹配项,但
blah@somewhere.ocm
不应该

恐怕我不知道我使用的是什么风格的正则表达式,因为它是在一个黑盒专有应用程序中,“接受正则表达式”进行用户输入验证。我知道应用程序可能是用VB6编写的,如果这有帮助的话

以下是现有的正则表达式,它可以很好地实现其预期目的:


^(?=[a-zA-Z0-9][a-zA-Z0-9@._%+-]{5,253}$)[a-zA-Z0-9@._%+-]{1,64}@(?:(?=[a-zA-Z0-9-]{1,63}\.)[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*\.){1,8}[a-zA-Z]{2,63}$
示例将始终是长度大于零的字符串,因此如果不处理这些字符串,则无所谓

似乎在正则表达式的末尾进行反向查找应该是最好的方法,但是我找不到正确的语法来使用我现有的正则表达式。 如果有人建议如何将它们与我现有的正则表达式集成,以下是一些可能有效的方法:


请提前感谢。

只需添加一个负面展望,如下所示:

(?!.*[.]ocm$)
是原始正则表达式


是修改后的正则表达式。

只需添加一个负前瞻,如下所示:

(?!.*[.]ocm$)
是原始正则表达式


是修改后的正则表达式。

只需使用第二个条件
re1.Test(addr)而不是re2.Test(addr)
re2.Pattern=“\.ocm$”
。只需使用第二个条件
re1.Test(addr)而不是re2.Test(addr)
re2.Pattern=“\.ocm$”
。非常感谢,这非常有效。我错误地认为这个条件必须在正则表达式的末尾,因为不需要的后缀就在这里。非常感谢。我有很多关于正则表达式语法的知识需要学习。很高兴它帮助了你。您可以在提供的链接中练习正则表达式。其他伟大的网站-谢谢你。实际上,我从regex信息中获取了大部分原始regex,在这里发布之前,我花了3个小时在Regex101上尝试不同的语法。我想我只是把测序搞砸了。经验就是一切。非常感谢,这很好用。我错误地认为这个条件必须在正则表达式的末尾,因为不需要的后缀就在这里。非常感谢。我有很多关于正则表达式语法的知识需要学习。很高兴它帮助了你。您可以在提供的链接中练习正则表达式。其他伟大的网站-谢谢你。实际上,我从regex信息中获取了大部分原始regex,在这里发布之前,我花了3个小时在Regex101上尝试不同的语法。我想我只是把测序搞砸了。经验就是一切。