Regulärer Ausdruck, um Prozessargumente abzugleichen

Ich habe diese Zeichenfolge:

Process.exe /Switch=Value /Switch="C:\Path with spaces\file.txt" wrong argument

Ich möchte diese Teile erfassen:

· 1st Match: Process.exe
· 2nd Match: /Switch=Value
· 3rd Match: /Switch="C:\Path with spaces\file.txt"
· 4th Match: wrong
· 5th Match: argument

Der reguläre Ausdruck muss zur allgemeinen Verwendung (ein Prozess mit echten Argumenten) und nicht nur für diesen Fall angepasst werden.

Das versuche ich:

Dim DebugArguments As String =
    "HotkeyMaker.exe /Hotkey=Escape /run=""c:\folder with spaces\notepad.exe"""

For Each match As Match In Regex.Matches(DebugArguments, "([^\s]+[^""])")
    MsgBox(match.Value)
Next match

Antworten auf die Frage(2)

Ihre Antwort auf die Frage