独自の正規表現を記述したくないので、System.Net.IPAddress.TryParseを使用してIPv6アドレスを検証したいと思います:-)
ただし、これにより、「(validIPv6)](anythingatallhere)」などの文字列が許可されるようです。たとえば、「1234 :: 5678:abcd]whargarbl」などです。
これらが有効である理由はありますか、それともこれは誤りですか?
これは、実際には「[(validIPv6)] :( portnumber)」の形式の文字列のみが必要であるため、自分で少し検証する必要があるため、さらに複雑になります。