Because "1234" matches the "([0-9]{1,4})", the "." matches the "any character" ".", and the "56" matches the "([0-9]{1,2})". If the trailing "#" is supposed to be an error, then you'll need to "anchor" the end of the regex with a "$" at the end. (If you want to anchor the beginning, then you'll need a "" at the start of the regex.)
Also, if the "." is supposed to be a "." and not "any character", then you need to escape it with a backslash: ".".