(?:) ist eine non capturing Klammer, wird also nicht in $1 ... gespeichert.
hmm, also ich habe mal in meinem Büchlein für RegEx nachgeschaut.
da gibt es etwas wie:
(?:...)
das heisst dann Submuster gruppieren aber keine Subtreffer festhalten.
und das
(?:a(b))?
finde 'ab' 0 oder 1 mal aber speichere nur b
\s+ bedeutet Whitespace Zeichen also Leerzeichen kann einmal oder mehrmals vorkommen ?
\*(\S+)(?:\s+(\S+))?\s+
Nach dem * dürfen nur "normale" Zeichen vorkommen ... ne da komme ich nicht mit ...
\S ist die Negation von \s, also Non-Whitespace-Charakters
Das Problem in meinem Aufbau ist, dass ich nicht weiss ob du whitespace in Parametern oder Werten erlaubst, oder ob sie verlässlich nur die Tokens unterscheiden.
mfg Beat