我有一个遗留应用程序,通过传递给VB6的RegEx experssion验证电子邮件地址,然后使用Like
运算符进行比较
RegEx表达式仍然允许空格字符包含在我不想要的电子邮件地址中。
下面的代码 - 我希望第一个重新生成True但第二个返回False。我需要对RegEx表达式进行哪些修改?
Sub LikeTest()
MsgBox "hello@hello.com" Like "[A-Za-z0-9-\.\]*@*[A-Za-z0-9-\.\].*[A-Za-z]" 'returns True
MsgBox "hello@ hello.com" Like "[A-Za-z0-9-\.\]*@*[A-Za-z0-9-\.\].*[A-Za-z]" 'returns True but should return False
End Sub
答案 0 :(得分:0)
DIM test
test = LikeTest("hello@hello.com")
Function LikeTest(sEmail)
RegExpTest = false
Dim regEx, retVal
Set regEx = New RegExp
' Create regular expression:
regEx.Pattern ="^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$"
' Set pattern:
regEx.IgnoreCase = true
' Set case sensitivity.
retVal = regEx.Test(sEmail)
' Execute the search test.
If not retVal Then
RegExpTest = false
else
RegExpTest = true
End If
MsgBox(RegExpTest)
End Function
来源: