【发布时间】:2015-03-31 15:48:58
【问题描述】:
好的,所以我想要一个正则表达式来解析 uncontracted(如果这就是所谓的)ipv6 地址
ipv6 示例地址:1050:::600:5:1000::
我想要返回的:1050:0000:0000:600:5:1000:0000:0000
我的尝试:
ip:gsub("%:([^0-9a-zA-Z])", ":0000")
第一个问题:它替换了第一个和第二个:
所以:: 被替换为:0000
用:0000: 替换它是行不通的,因为它会以: 结尾。这也会注意到解析新添加的: 导致:1050:0000::600:5:1000:0000:
那么我需要这个正则表达式做什么?
如果后面没有数字或字母,则将每个 : 替换为 :0000
主要问题::: 被替换而不是 1 :
【问题讨论】:
-
有 this,但这不适用于 Lua(我对任何可行的想法都一无所知)。
-
Lua 模式匹配不是标准正则表达式。
标签: regex string lua lua-patterns