I've created a regex with three main parts connected by OR (|) operators:

1. For ISBNs:
   - Matches "0-321-53496-4" (hyphenated ISBN-10)
   - Matches "978-0-13-149505-0" (hyphenated ISBN-13)
   - Matches "0321534964" (non-hyphenated ISBN-10)

2. For IPv6 addresses:
   - Matches "2001:0db8:85a3:0000:0000:8a2e:0370:7334" (full format)
   - Matches "2001:db8::1:0:0:1" (compressed with double colon)
   - Matches "fe80::1ff:fe23:4567:890a" (compressed with double colon)

3. For ISO 8601 timestamps:
   - Matches "2024-03-15T14:30:45.123456-05:00" (with microseconds and timezone offset)
   - Matches "2024-03-15T19:30:45Z" (UTC/Zulu time)
   - Matches "2024-03-15T14:30:45.123+0800" (with milliseconds and timezone offset)

I chose to use explicit alternation for the exact matches rather than creating a more general pattern that might accidentally match invalid formats.