Synology-Forum.nl
Packages => 3rd party Packages => Overige 3rd party packages => Topic gestart door: TonVH op 09 september 2016, 12:06:23
-
Ik wil een aut. opname maken van programma's die in de titel wel "xxx" bevatten maar niet "yyy". Heb enkele sites bekeken over het maken van Regexp maar kom er niet uit.
Iemand die de benodigde constructie weet? Dus wel opnemen van "andere tijden" maar niet "andere tijden sport".
En zo ja, dan ook graag de constructie voor: opnemen als wel "xxx" en ook "yyy" in de titel voorkomen waarbij deze niet aaneengesloten zijn.
-
@TonVH
regexp; logica en mogelijkheden, blijft een uitdaging ;D
Normaal gebruik ik regexp voor het doorzoeken van ongestructureerde records. Indien iets voorkomt met.. pak dan het gedeelte wat daarna komt en plaats wat je gevonden hebt in een veld.
Hierna check ik het gevonden (nu gestrutureerd) veld.
Dit werkt voor: 'wel "xxx" bevatten maar niet "yyy"' (zoek criteria is verschillend)
Echter niet voor '"andere tijden" maar niet "andere tijden sport"'. in beide zit 'andere tijden'
Je zou wel alles wat begint met 'andere tijden' kunnen zoeken, in een veld plaatsen en hierna verder kunnen verfijnen.
Wordt dan zoiets als bijgevoegd voorbeeld (code is voor het onderzoeken van het message veld in de events van Windows)
sec.Pattern = "Object Open:\s+" _
& "Object Server:\s*(.*?)\s+" _
& "Object Type:\s*(.*?)\s+" _
& "Object Name:\s*(.*?)\s+" _
& "Handle ID:\s*(.*?)\s+" _
& "Operation ID:\s*(.*?)\s+" _
& "Process ID:\s*(.*?)\s+" _
& "Image File Name:\s*(.*?)\s+" _
& "Primary User Name:\s*(.*?)\s+" _
& "Primary Domain:\s*(.*?)\s+" _
& "Primary Logon ID:\s*(.*?)\s+" _
& "Client User Name:\s*(.*?)\s+" _
& "Client Domain:\s*(.*?)\s+" _
& "Client Logon ID:\s*(.*?)\s+" _
& "Accesses\s*(.*?)\s+" _
& "Privileges:\s*(.*?)\s+"
'Wscript.Echo "Results ****************************"
For Each mm In sec.Execute(Message)
Object_Server = mm.SubMatches(0)
Object_Type = mm.SubMatches(1)
Object_Name = mm.SubMatches(2)
Handle_ID = mm.SubMatches(3)
Operation_ID = mm.SubMatches(4)
Process_ID = mm.SubMatches(5)
Image_File_Name = mm.SubMatches(6)
Primary_User_Name = mm.SubMatches(7)
Primary_Domain = mm.SubMatches(8)
Primary_Logon_ID = mm.SubMatches(9)
Client_User_Name = mm.SubMatches(10)
Client_Domain = mm.SubMatches(11)
Client_Logon_ID = mm.SubMatches(12)
Accesses = mm.SubMatches(13)
Privileges = mm.SubMatches(14)
Access_Mask =