In another act of defensive programming, we are going to want to make sure that a match truly exists before we return a value. I also did a test to ensure that no match will be found (notice the x in the pattern). So, there is once again no output.
Option Explicit
Dim myFakeEmail: myFakeEmail = "" & _
"I never received a response from anyone about my inquiry. Never spoke" & vbNewLine & _
"with Scala Re[. Don't remember any correspondence. I wanted to know" & vbNewLine & _
"the price of the software." & vbNewLine & _
"" & vbNewLine & _
"-----Original Message-----" & vbNewLine & _
"From: Scala Sales [mailto:Someone@Scala.com]" & vbNewLine & _
"Sent: Thursday, July 01, 2004 9:05 AM" & vbNewLine & _
"To: Prospect" & vbNewLine & _
"Subject: RE: Company, State, Country" & vbNewLine & _
"" & vbNewLine & _
"Prospect," & vbNewLine & _
"" & vbNewLine & _
"We have noticed the last update to your discussion with Scala Rep" & vbNewLine & _
"regarding ""Company, State, Country"" was 7 days ago. If you" & vbNewLine & _
"like, you can follow the included link..." & vbNewLine & _
"" & vbNewLine & _
"http://www.scala.com/message/?59483475213687" & vbNewLine & _
"" & vbNewLine & _
" ...and log in with the email address noone@nowhwere.com to" & vbNewLine & _
"let us know how your endeavors are proceeding. You can also reach" & vbNewLine & _
"Scala Rep by telephone at (555) 123-4567." & vbNewLine & _
"" & vbNewLine & _
"Regards," & vbNewLine & _
"" & vbNewLine & _
"Scala Sales" & vbNewLine & _
""
WScript.Echo(FindMessageID(myFakeEmail))
Function FindMessageID(messageBody)
Dim MyRegEx
Set MyRegEx = New RegExp
MyRegEx.IgnoreCase = True
MyRegEx.Global = True
MyRegEx.Pattern = "http://www.scala.com/message/x"
Dim testMatch: testMatch = MyRegEx.Test(messageBody)
If testMatch = True Then
Dim myMatches: Set myMatches = MyRegEx.Execute(messageBody)
Dim firstMatch: Set firstMatch = myMatches(0)
FindMessageID = firstMatch.Value
Else
FindMessageID = ""
End If
Set firstMatch = Nothing
Set myMatches = Nothing
Set MyRegEx = Nothing
End Function
|
|