VBScript 正则表达式无法获取状态代码
VBScript regex not working to grab status code
我与下面的 VBScript 不匹配。我的代码有问题吗?
测试
Error Type: SMTP[nl] Remote server (166.216.149.129) issued an error.[nl] hMailServer sent: RCPT TO:<8583390609@txt.att.net>[nl] Remote server replied: 550 5.1.1 <8583390609@txt.att.net> recipient does not exist here.[nl]
模式
^.*Remote server replied: ([0-9]{3}).*$
日志记录
3544 "2019-05-06 23:09:51.609" "Running"
3544 "2019-05-06 23:09:51.609" "Error Type: SMTP[nl] Remote server (166.216.149.129) issued an error.[nl] hMailServer sent: RCPT TO:<8583390609@txt.att.net>[nl] Remote server replied: 550 5.1.1 <8583390609@txt.att.net> recipient does not exist here.[nl]"
3544 "2019-05-06 23:09:51.609" "No Match"
VBScript
Dim regex, matches, match, strResult
EventLog.Write("Running")
EventLog.Write(sErrorMessage)
Set regex = New RegExp
regex.IgnoreCase = True
regex.Pattern = "^.*Remote server replied: ([0-9]{3}).*$"
Set matches = regex.Execute(sErrorMessage)
If matches.Count >= 1 Then
Set match = matches(0)
If match.SubMatches.Count >= 1 Then
strResult = match.SubMatches(0)
EventLog.Write(strResult)
Else
EventLog.Write("NO SUBMATCHES")
strResult = ""
exit sub
End If
Else
EventLog.Write("No Match")
strResult = ""
exit sub
End If
regex.MultiLine = True
[nl] 是一个新的线路运营商,我想我需要告诉正则表达式。
我与下面的 VBScript 不匹配。我的代码有问题吗?
测试
Error Type: SMTP[nl] Remote server (166.216.149.129) issued an error.[nl] hMailServer sent: RCPT TO:<8583390609@txt.att.net>[nl] Remote server replied: 550 5.1.1 <8583390609@txt.att.net> recipient does not exist here.[nl]
模式
^.*Remote server replied: ([0-9]{3}).*$
日志记录
3544 "2019-05-06 23:09:51.609" "Running"
3544 "2019-05-06 23:09:51.609" "Error Type: SMTP[nl] Remote server (166.216.149.129) issued an error.[nl] hMailServer sent: RCPT TO:<8583390609@txt.att.net>[nl] Remote server replied: 550 5.1.1 <8583390609@txt.att.net> recipient does not exist here.[nl]"
3544 "2019-05-06 23:09:51.609" "No Match"
VBScript
Dim regex, matches, match, strResult
EventLog.Write("Running")
EventLog.Write(sErrorMessage)
Set regex = New RegExp
regex.IgnoreCase = True
regex.Pattern = "^.*Remote server replied: ([0-9]{3}).*$"
Set matches = regex.Execute(sErrorMessage)
If matches.Count >= 1 Then
Set match = matches(0)
If match.SubMatches.Count >= 1 Then
strResult = match.SubMatches(0)
EventLog.Write(strResult)
Else
EventLog.Write("NO SUBMATCHES")
strResult = ""
exit sub
End If
Else
EventLog.Write("No Match")
strResult = ""
exit sub
End If
regex.MultiLine = True
[nl] 是一个新的线路运营商,我想我需要告诉正则表达式。