ES6 flag `u` disallows `\-`, so we need an alternative way to escape hyphens. This is similar to #197, which fixed this for whitespace. Edit: Same problem for escaped `,` and `#`.