I'd add a backslash to the list of characters to skip

```php
const ROUTE_ESCAPE_REGEX = '`(?<=^|\])[^\]\[\?\\\\]+?(?=\[|$)`';
```

This way we can match the string `/foo?bar` literally with the route `/foo\?bar`, etc. We'll just have to make a note in the README that `[`, `]`, and `?` are special and require a preceding backslash in order to match them literally.