L 12/13/2003 - 19:34:43: Cmd: "Adminnamn<47><STEAM_ID><>" ban "STEAM_ID" (minutes "666") (reason "no")
Alternativt så står namnet på spelaren som blir bannad istället för STEAM_ID...
Det jag skulle vilja är att:
Alla bans hamnar på samma ställe dvs "Cmd: regexpen" plockar ut allt förutom då ordet BAN finns med i textraden.... och att "Ban: regexpen" plockar ut alla rader som har order BAN i sig oavsett om det står Ban: eller bara ban
( finns ett krux med detta det är att det även finns say kommandon dvs någon kan skriva "Ban för ovårdat språk" och då vill jag INTE att den raden från loggfilen kommer i banlogfilen)
Det som jag sett när jag kontrollerar loggarna är att det rätta "ban-ordet" finns med om det skrivs ut på två olika sätt Ban: eller " ban " så ser det nämligen inte ut då någon skriver ett meddelande.
"Cmd: regexpen" ska inte ha med " ban "
"Ban: regexpen" ska ha med Ban: och " ban "
Du kan inte (vad jag förstår) göra en sådan koll med regexp. Men eftersom du har en så tydlig struktur är det ju enkelt om du plockar ut relevant data med regexp och sedan kontrollerar det du fått ut med VBScript.
Ett enkelt sätt för dig för att välja ut allt med Cmd, som inte innehåller ban, borde se ut såhär...
objRegExp.Pattern = "L \d{1,2}/\d{1,2}/\d{4} - \d{1,2}:\d{1,2}:\d{1,2}: Cmd:.*"
Set objMatches = objRegExp.Execute(strLog)
For Each objMatch In objMatches
If Not InStr(objMatch.Value, "ban") Then
Response.Write objMatch.Value
End If
Next