Fixed problem with large FUZZY counts, use named captures

The regular expression for fuzzy matching was incorrect, since the capture group for a single digit was inside the * which supports multiple digits. As a result, any multi-digit fuzz count like "10~foo" failed. This change fixes that, and makes the code more readable by using named capture groups in the regular expression.