Ich habe die folgende Regex, die in Python gut funktioniert (aufgrund von Lookahead Assertions).Konvertieren einer Python-Lookahead-Assertion Regex in einen gültigen Golang
some_list = re.findall('^(?=Name:)(.*?)(?=USB\ Device\ Filters:)', myinput, re.MULTILINE|re.DOTALL)
Siehe Beispiel myinput
im Codeblock unten.
Name: wird immer der Anfang einer Gruppe sein und USB Device Filter: immer das Ende einer Gruppe sein wird. Nicht alle Zeilen haben einen gültigen Schlüssel: Wert kann z. B. eine Leerzeile oder eine Leerzeile haben.
Name: Server1 10.0.0.11
Groups: /
Guest OS: Ubuntu (64-bit)
\n
<none>
USB Device Filters:
Name: Server2 10.0.0.12
Groups: /
Guest OS: Debian (64-bit)
\n
<none>
USB Device Filters:
Kann mir jemand helfen, dieses Golang Regex in einen gültigen Format konvertieren?
Das ultimative Ziel ist es, myinput zu analysieren und ein Stück übereinstimmende Gruppen zu erhalten.
Dank @dawg. Das hat mich auf den richtigen Weg gebracht. Ich muss letzte Nacht ausgeblendet und die Flaggen vergessen haben. Dies funktionierte für mich am Ende ... '' 'regexp.MustCompile (' (? Ms)^(Name:. *?) USB Device Filter: ')' '' – mfridman