【发布时间】:2012-08-16 00:25:24
【问题描述】:
我从互联网上的某个地方提取了一段代码,看起来像这样
ip = Regex.Replace(ip, @"^(?<Prefix>(\d{1,3}\.){3})\d{1,3}$", "${Prefix}*");
它的作用是获取一个 IP 地址并用星号替换最后一部分。例如192.168.0.1 将变为192.168.0.*
我对 RegEx 毫无用处,我试图了解上述实际在做什么,但没有任何成功。
我追求的是另外 2 个 Regex.Replace 代码,以便 192.168.0.1 变为
192.168.*.*192.*.*.*
谁能帮帮我?
【问题讨论】:
-
哇,我想是编辑把事情搞砸了。但是,它说明了如果这些字符位于反引号或代码块内,则无需转义它们。编辑:它似乎已被后来的编辑修复。
-
对我来说,找到句点和子字符串的最后一个索引要容易得多。或倒数第二个句点和子字符串。
-
所以你想把 192.168.0.1 变成 3 个不同的字符串,每个字符串都有 1,2 和 3 个从末尾加星标的段?另外,你想用什么语言来实现这一点? C?
-
应该
\d[1,3]是\d{1,3}?