Tul*_*x86 12 regex localhost loopback
我有必须在使用时的警告用户的应用程序localhost,127.0.0.1,::1,或任何环回地址(目标主机被用于数据库到数据库的连接并不一定的应用程序的环境的内部).这很复杂,因为地址如下......
127.1127.0.01127.0000.0000.1127.0.0.254127.63.31.15127.255.255.2540::10000::00010000:0:0000::010000:0000:0000:0000:0000:0000:0000:0001...将通过消费代码正确解析,并将解析为环回.
什么是正则表达式,它将匹配IPv4和IPv6环回地址的任何排列?
Tul*_*x86 21
经过一段时间摆弄RegexBuddy(这是一个真正伟大的测试驱动的RegEx构建工具),我想出了这个:
^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$
Run Code Online (Sandbox Code Playgroud)
字符串"localhost"
localhostLOCALHOST这些IPv4环回地址的排列
127.0.0.1127.0.0.001127.0.00.1127.00.0.1127.000.000.001127.0000.0000.1127.0.01127.1127.001127.0.0.254127.63.31.15127.255.255.254这些IPv6环回地址的排列
0:0:0:0:0:0:0:10000:0000:0000:0000:0000:0000:0000:0001::10::10:0:0::10000::00010000:0:0000::00010000:0:0000::10::0:1有效的服务器名称
servernamesubdomain.domain.tld这些有效的IPv4地址
192.168.0.110.1.1.123这些有效的IPv6地址
0001::1dead:beef::1::dead:beef:1