OK, I *think* this one should match everything, including things like 192.0250.0x7B2D):<code>^((?:(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|0x[0-9a-fA-F]{1,2}|0[1-3]?[0-7]{1,2})\.){3}(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|0x[0-9a-fA-F]{1,2}|0[1-3]?[0-7]{1,2})<br>|(?:(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|0x[0-9a-fA-F]{1,2}|0[1-3]?[0-7]{1,2})\.){2}(?:\d|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]|0x[0-9a-fA-F]{1,4}|01?[0-7]{1,5})<br>|(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|0x[0-9a-fA-F]{1,2}|0[1-3]?[0-7])\.(?:\d|[1-9]\d{1,6}|1[0-5]\d{6}|16[0-6]\d{5}|167[0-6]\d{4}|1677[0-6]\d{3}|16777[01]\d{2}|1677720\d|1677721[0-5]|0x[0-9a-fA-F]{1,6}|0[0-7]{1,8})<br>|(?:\d|[1-9]\d{1,8}|[1-3]\d{9}|4[01]\d{8}|42[0-8]\d{7}|429[0-3]\d{6}|4294[0-8]\d{5}|42949[0-5]\d{4}|429496[0-6]\d{3}|4294967[01]\d{2}|42949672[0-8]\d|429496729[0-5])<br>|0x[0-9a-fA-F]{1,8}<br>|(?:0[1-3]?[0-7]{1,9}))$<br></code>
Edit: fixed version below.