Ich muss einen Benutzernamen aus dem Protokoll unten über Regex für einen Protokollkollektor extrahieren.Extrahieren Sie den Benutzernamen aus Schrägstrich getrennten Text
Aufgrund der Art der Protokolle ist es nicht möglich, genau zu definieren, wie viele Vorwärts Schrägstriche verfügbar sein werden, und ich muss ein bestimmtes Stück Daten auswählen, da es mehrere Vorkommen von ähnlich formatierten Daten gibt .
Erforderliche Daten:
name="performedby" label="Performed By" value="blah.com/blah/blah blah/blah/**USERNAME**"|
< 46> 23. Juni 10.38.49 10.51.200.76 25113 LOGbinder EX | 3.1 | Erfolg | 2016-06-23T10: 38: 49,0000000-05: 00 | hinzufügen -MailboxPermission Exchange-Cmdlet wurde ausgegeben | name = "aufgetreten" label = "Occurred" value = "23.06.2016 10:38:49 AM" | name = "cmdlet" label = "Cmdlet" value = "Add-MailboxPermission" | name = "permittedby" label = "Durchgeführt von" value = "blah.com/blah/blah blah/blah/BENUTZERNAME" | name = "succeeded" label = "Erfolgreich" value = "Yes" | name = "error "label =" Fehler "value =" None "| Name =" successingserver label = "Ursprünglicher Server" value = "schwarz" | name = "objectmodified" label = "Objekt geändert" value = "blah/bl ah/USERNAME "| name =" Parameter "label =" Parameter "value =" Name: Identität, Wert: [blah] Name: Benutzer, Wert: [blah/blah] Name AccessRights, Wert: [FullAccess] Name: InheritanceType, Wert: [All] "| name =" Eigenschaften "label =" Geänderte Eigenschaften "value =" n/a "| Name =" Zusatzinfo "label =" Zusatzinformation "
Ich habe ein paar verschiedene Regex-Befehle ausprobiert aber ich bin nicht in der Lage, die notwendigen Informationen zu extrahieren, ohne genau anzugeben, wie viele/werden.
blah\.com[.*\/](.*?)"\|name
* a * Benutzername getestet übereinstimmen - nur ein? Was bedeutet ein Benutzername? Sind die letzten Wörter in "value" mit den forward slashes usernames? – ClasG
Benutzername ist in der Regel ein voller Name, d. H. "John Smith" usw. – Jordurh
Überprüfen Sie meine aktualisierte Antwort –