我正在尝试从IP地址中删除第一个八位字节,包括开头的.
,但我正在尝试使用Regex,但无法弄清楚使用它的正确方法。这是我的代码
'47.172.99.12' -split '\.(.*)',""
我想要的结果是
172.99.12
最佳答案
.
字符在Regex模式中具有特殊含义:它匹配除换行符以外的任何字符。您需要对它进行转义以匹配一个字面量:
'47.172.99.12' -split '\.(.*)',""
^
但是请注意,这将返回比您所需更多的结果:
PS > '47.172.99.12' -split '\.(.*)',""
47
172.99.12
PS >
要获得所需的内容,可以在
1
处为结果建立索引:PS > ('47.172.99.12' -split '\.(.*)',"")[1]
172.99.12
PS >
也就是说,将Regex用于此任务有些过分。您可以简单地使用
String.Split
方法代替:PS > '47.172.99.12'.Split('.', 2)[1]
172.99.12
PS >
关于regex - 使用正则表达式拆分从IP地址中删除第一个八位位组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30061062/