【发布时间】:2015-12-04 11:27:03
【问题描述】:
假设我有一个 IPv6 地址,例如:
2001:04E8:0000:4001:0000:0000:0000:0000/64
我想要像这样的输出
2001:4E8:0:4001:0:0:0:0/64
所以基本上,它会删除前导零,同时用一个零替换四个零。
replaceAll("(:(0)*)|(^0+)",":")
上面的正则表达式完成了这项工作,但输出为
2001:4E8::4001::::/64
四个零都省略了。
注意:输入可能是任何有效的 ipv6 地址
【问题讨论】:
-
您使用的是哪个 dbms?产品之间的替换/正则表达式功能往往会有所不同。