The upstream version that was picked contains characters that are invalid in Debian version strings.
For version strings that come from upstream tags, this can be because the upstream tags use characters that are not valid in Debian version strings. The janitor currently only applies very basic version mangling to upstream tags:
For version strings that come from uscan, no additional mangling is performed besides the mangling that uscan already does.
In some cases, the version string matching is overly broad - and the lintian-brush could possibly replace the first group with @ANY_VERSION@ to fix the watch file.