Microsoft Word正则表达式的电子邮件地址

时间:2015-03-18 20:54:49

标签: regex ms-word expression

我需要为可以使用 Microsoft Word 查找和替换的电子邮件地址创建正则表达式。我不是想要获得任何复杂的正则表达式,只是一个简单的正则表达式。

我在网上发现了很多正则表达式,但Word不允许使用carrets。

2 个答案:

答案 0 :(得分:0)

以下是您可以查看的piece of VBA macro

Option Explicit

Const MODULE_NAME As String = "modMail"
Public Function ValidateEmailAddress(ByVal strEmailAddress As String) As Boolean
    On Error GoTo Catch

    Dim objRegExp As New RegExp
    Dim blnIsValidEmail As Boolean

    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    objRegExp.Pattern = "^([a-zA-Z0-9_\-\.]+)@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"

    blnIsValidEmail = objRegExp.Test(strEmailAddress)
    ValidateEmailAddress = blnIsValidEmail

    Exit Function

Catch:
    ValidateEmailAddress = False
    MsgBox "Module: " & MODULE_NAME & " - ValidateEmailAddress function" & vbCrLf & vbCrLf _
        & "Error#:  " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Function

答案 1 :(得分:0)

[A-z,0-9]{1,}\@[A-z,0-9,\.]{1,}

您可以使用此