I came up with an IPv6 address matching regex based off of RFC 3986 and examples in the Wikipedia IPv6 page for use with URI::Find. I noticed Regexp::Common has no IPv6 regex, thought you might like it. Its verbose but AFAIK correct. Attached is a program containing the regex and some tests which you can integrate into Regexp::Common.
Message body not shown because it is not plain text.