2015-03-18 113 views
1

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

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

回答

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 
相关问题