In this approach, a first phase of string-level substitutions inserts whitespace around, for example, punctuation marks; upon completion of string rewriting, token boundaries are stipulated between all whitespace-separated substrings (and only these).
if there were a rule !wo(n't) will \1 (1) applied to the string I won't go!, all characters in the second token of the resulting string (I will n't go!)