Here is an example of how I imagine this to work:
[code]- plain - plain ? plain : plain: plain
<- -string
^ -string
^ -string
^ -string
^ -string
^ -string
^ -string
^ -string
^ -string
- plain - plain ? plain : plain: plain
#.^^^^^…^^^^^…^^^^^…^^^^^…^^^^^ string.unquoted.plain
<- -string.unquoted.plain
[/code]
^
represents a supposed match, .
represents a supposed “not match” and (space) represents “don’t care”
I would use -
, but that is already used for negative selectors and thus ambiguous.
Edit: This example is actually wrong, but you get the idea.