Du kennst du Bedeutung von:
(?:.+)?
???
vielen Dank für deine Hilfe,
nein das kenne ich nicht.
(?:) ist eine non capturing Klammer, wird also nicht in $1 ... gespeichert.
wo müsste ich denn dein Beispiel einsetzen?
$string = "*Option *aaa bbb *cccc dd\n"
/\Option:\s+\(\S+)(?:\s+(\S+))?\s+\*(\S+)(?:\s+(\S+))?\n/
Keine Ahnung, ob \s \S hier hinreichend unterscheiden.
mfg Beat