things that are much harder to describe accurately with a regex than you'd think, an incomplete list:

* floating point numbers
* IPv6 addresses
* IPv*4* addresses (depending on how you define them and how picky you are about the numeric ranges)
* ...

@zwol

curse you for making me type test cases like this into a REPL

>>> socket.gethostbyname("10.010.0x10")
'10.8.0.16'

but heck even IBM is guilty of grossly oversimplifying things https://www.ibm.com/docs/en/ts4500-tape-library?topic=functionality-ipv4-ipv6-address-formats

Though it appears that the exact syntax of numeric IPv4 addresses is "whatever inet_aton does" and has never been well specified in a published rfc? https://datatracker.ietf.org/doc/html/draft-main-ipaddr-text-rep-02

IPv4 and IPv6 address formats

Octets or segments, or a combination of both, make up Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6) addresses.

@stylus I wonder why that draft stalled out. The BNFs in there look quite sensible.