Best I could do was this : (--\w+[= ]?(("(\\"|[^"]|)*")|\w+))|\S+

Seems to be matching most cases...