此正则表达式用于验证电子邮件地址,但不包括撇号 (') 的情况,撇号 (') 是电子邮件地址第一部分中的有效字符。我已经尝试过自己并使用我找到的一些示例,但它们不起作用。
^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
如何稍微修改它以支持 ' 字符(撇号)?
此正则表达式用于验证电子邮件地址,但不包括撇号 (') 的情况,撇号 (') 是电子邮件地址第一部分中的有效字符。我已经尝试过自己并使用我找到的一些示例,但它们不起作用。
^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
如何稍微修改它以支持 ' 字符(撇号)?
根据电子邮件地址的文档,撇号可以出现在@
符号之前的任何位置,在您当前的正则表达式中是:
^([\w-\.]+)@
您应该能够将撇号添加到有效字符的括号中:
^([\w-\.']+)@
这将使整个正则表达式:
^([\w-\.']+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
编辑(单引号中包含的正则表达式)
如果您在带有单引号的字符串中使用此正则表达式,例如在 PHP 中使用$regex = '^([\w ...
,您将需要使用 转义正则表达式中的单引号\'
:
^([\w-\.\']+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
您需要按如下方式更新第一部分:
^([\'\w-\.]+)