* [x] `^` at the start doesn't work: it steps along the match and applies it as though every character is the start. * [x] If some string `x` applies, and `x.substring(1)` also matches, `x.substring(1)` could be chosen. Restrict application to **whole** match.
^at the start doesn't work: it steps along the match and applies it as though every character is the start.xapplies, andx.substring(1)also matches,x.substring(1)could be chosen. Restrict application to whole match.