support blank q/b value

blank q/b values were ignored and blow up when used directly since `match[2]` is nil (since it was optional) and then blows up

@bf4
`?` means "non-greedy" here, not "optional," so you'll want to retain it as `*?`